您好,登錄后才能下訂單哦!
由于JS里對于數值小數點會自動去除,所以對于運動位置,需要使用Math.ceil()向上取整或者
Math.floor()向下取整進行解決
以下是我的緩沖運動練習簡單代碼
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <style> #div1{width:200px;height:200px;background:red;left:0px;top:50px;position:absolute;} #div2{width:1px;height:250px;background:black;left:400px;top:20px;position:absolute;} </style> <script> window.onload=function () { var oDiv=document.getElementById('div1'); var oBtn=document.getElementById('btn1'); oBtn.onclick=function () { startMove(400); } }; var timer=null; function startMove(target) { var oDiv=document.getElementById('div1'); var speed=0; clearInterval(timer) timer=setInterval(function () { //speed會被直接取整,舍去余數,所以位置不精確,需要通過向上取整Math.ceil()來解決 speed=Math.ceil((target-oDiv.offsetLeft)/10); oDiv.style.left=oDiv.offsetLeft+speed+'px'; document.title=oDiv.offsetLeft+','+speed; },30); }; </script> </head> <body> <input id="btn1" type="button" value="開始運動" /> <div id="div1"> </div> <div id="div2"> </div> </body> </html>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。