我試圖通過重複更改document.getElementById("ElementID").style.left
的值來使用JavaScript進行元素「振動」。我在一個特定的函數中多次改變它,但是每次改變它時,它只會在函數結束時移動,即最後一次進行改變。下面是HTML代碼:元素在JavaScript函數中只更改了一次
<html>
<body>
<script>
function changePosition() {
if (document.getElementById("ElementID").style.left == "50%") {
document.getElementById("ElementID").style.left = "52%";
} else {
document.getElementById("ElementID").style.left = "50%";
}
}
function vibrate() {
changePosition();
setTimeout(changePosition, 50);
setTimeout(changePosition, 50);
setTimeout(changePosition, 50);
setTimeout(changePosition, 50);
}
</script>
<button id="ElementID" type="button" style="position:absolute; top:50%; left:50%;" onclick="vibrate()">Vibrate Me</button>
</body>
</html>
最後我只看到了按鈕的位置,因爲它應該是,但我無法看到的變化在過渡。我究竟做錯了什麼?
這是一個很酷的用戶界面的想法。這只是一個實驗,或者當所需的表單數據不存在時,您是否會振動按鈕? – Jess