用表单输入和滑块实现对象的转动/旋转
P粉007288593
P粉007288593 2023-08-16 16:16:28
[HTML讨论组]
<p>我有一个名为#person的对象,我需要用滑块的输入将其从-180度旋转到180度。我已经使滑块与输入框同步,以显示当前角度值,并尝试编写了一个函数,但它没有起作用。我正在尝试使用style.transform。在项目中使用了Bootstrap和jQueryUI,如果能使用这两个框架而不是标准的JavaScript来解决问题,也会有所帮助。</p> <pre class="brush:php;toolbar:false;">HTML &lt;label for=&quot;angleSlider&quot; class=&quot;form-label&quot;&gt;旋转角度&lt;/label&gt; &lt;form&gt; &lt;input type=&quot;range&quot; class=&quot;form-range w-75&quot; id=&quot;thetaRange&quot; min=&quot;-180&quot; max=&quot;180&quot; value=&quot;0&quot; oninput=&quot;this.form.thetaInput.value=this.value&quot; /&gt; &lt;input type=&quot;number&quot; id=&quot;thetaInput&quot; min=&quot;-180&quot; max=&quot;180&quot; value=&quot;0&quot; oninput=&quot;this.form.thetaRange.value=this.value&quot; /&gt; &lt;/form&gt;</pre> <pre class="brush:php;toolbar:false;">Javascript function rotatePerson() { const person = document.getElementById(&quot;person&quot;); var angle = document.getElementById(&quot;thetaRange&quot;); person.style.transform = &quot;rotate(angle deg)&quot; }</pre></p>
P粉007288593
P粉007288593

全部回复(1)
P粉882357979

您提供的代码片段几乎正确,但是在JavaScript代码的最后一行中存在一些问题。以下是已更正的版本及其解释:

function rotatePerson() {
    const person = document.getElementById("person");
    var angle = document.getElementById("thetaRange").value; // 获取角度的值
    person.style.transform = "rotate(" + angle + "deg)"; // 将角度变量连接到transform属性中
}

解释:

1. rotatePerson 函数使用 getElementById 选择了具有 ID 为 "person" 的元素,并将其赋值给变量 person

2. 接下来,它使用 getElementById 和访问 value 属性从具有 ID 为 "thetaRange" 的元素中获取角度的值。该值表示滑块上当前选择的角度。

3. 最后,代码将 person 元素的 style.transform 属性设置为 rotate(" + angle + "deg)。这将动态地将旋转应用于 person 元素,使用从滑块获取的度数值 angle

通过在滑块值更改时调用 rotatePerson 函数,人物元素将根据所选的角度进行旋转。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号