標籤:取整 js 緩衝運動
由於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>
本文出自 “12380959” 部落格,請務必保留此出處http://12390959.blog.51cto.com/12380959/1907149
js之運動架構緩衝運動