以表單輸入和滑桿實現物件的轉動/旋轉
P粉007288593
P粉007288593 2023-08-16 16:16:28
0
1
477
<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=" 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 函數,人物元素將根據所選的角度進行旋轉。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!