我們先來看下之前的勻速運動的程式碼,修改了速度speed後會出現怎麼樣的一個bug。這裡加了兩個標竿來測試 複製程式碼 程式碼如下: <br /> #div1 {<br /> 寬度:100px;<br /> 高度:100px;<br /> 位置:絕對;<br /> 背景:紅色;<br /> 上方:50px;<br /> 左:600px;<br /> }<br /> #div2 {<br /> 寬度:1px;<br /> 高度:300px;<br /> 位置:絕對;<br /> 左:300px;<br /> 上方:0;<br /> 背景:黑色;<br /> }<br /> #div3 {<br /> 寬度:1px;<br /> 高度:300px;<br /> 位置:絕對;<br /> 左:100px;<br /> 上方:0;<br /> 背景:黑色;<br /> }<br /> </樣式><br /> <腳本類型=「text/javascript」><br /> var time = null;<br /> 函數 startMove(iTarget) {<br /> var oDiv = document.getElementById("div1");<br /> 清除間隔(時間);<br /> 時間 = setInterval(function() {<br /> var 速率 = 0;<br /> if (oDiv.offsetLeft < iTarget) {<br /> 速率 = 7;<br /> } 其他 {<br /> 速率 = -7;<br /> }<br /> // 基本上以造成問題的<br /> oDiv.style.left = oDiv.offsetLeft 速率 'px';<br /> <br /> }, 30)<br /> }<br /> </腳本><br /> </頭><br /> <身體><br /> <input type="button" id="btn" value="到100" onclick="startMove(100)" /><br /> <input type="button" id="btn" value="到300" onclick="startMove(300)" /><br /> <div id="div1"><br />