Implementieren Sie die Drehung/Rotation von Objekten mithilfe von Formulareingaben und Schiebereglern
P粉007288593
2023-08-16 16:16:28
<p>Ich habe ein Objekt namens #person und muss es mithilfe eines Schiebereglers von -180 Grad auf 180 Grad drehen. Ich habe den Schieberegler mit dem Eingabefeld synchronisiert, um den aktuellen Winkelwert anzuzeigen, und versucht, eine Funktion zu schreiben, aber es hat nicht funktioniert. Ich versuche, style.transform zu verwenden. Da ich in meinem Projekt Bootstrap und jQueryUI verwendet habe, wäre es auch hilfreich, wenn ich diese beiden Frameworks anstelle von Standard-JavaScript verwenden könnte, um das Problem zu lösen. </p>
<pre class="brush:php;toolbar:false;">HTML
<label for="angleSlider" class="form-label">rotationswinkel</label>
<Formular>
"input type="range" id="-180"
oninput="this.form.thetaInput.value=this.value"
<input type="number" id="thetaInput"
oninput="this.form.thetaRange.value=this.value"
</form></pre>
<pre class="brush:php;toolbar:false;">Javascript
Funktion rotierenPerson() {
const person = document.getElementById("person");
var angle = document.getElementById("thetaRange");
person.style.transform = "drehen (Winkelgrad)"
}</pre></p>
您提供的代码片段几乎正确,但是在JavaScript代码的最后一行中存在一些问题。以下是已更正的版本及其解释:
解释:
1.
rotatePerson
函数使用getElementById
选择了具有 ID 为 "person" 的元素,并将其赋值给变量person
。2. 接下来,它使用
getElementById
和访问value
属性从具有 ID 为 "thetaRange" 的元素中获取角度的值。该值表示滑块上当前选择的角度。3. 最后,代码将
person
元素的style.transform
属性设置为rotate(" + angle + "deg)
。这将动态地将旋转应用于person
元素,使用从滑块获取的度数值angle
。通过在滑块值更改时调用
rotatePerson
函数,人物元素将根据所选的角度进行旋转。