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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板