緩沖動畫鼠標放上拿開反復6到7次以后程序執行就出問題,大家有沒遇到這個問題
<script>
window.onload = function(){
var oDiv = document.getElementById("div1");
oDiv.onmouseover = function(){
startMove(0);
}
oDiv.onmouseout = function(){
startMove(-200);
}
}
var timer = null;
function startMove(iTarget){
clearInterval(timer);
var oDiv = document.getElementById("div1");
var speed = (iTarget-oDiv.offsetLeft)/20;
speed = speed>0?Math.ceil(speed):Math.floor(speed);
timer = setInterval(function(){
if(oDiv.offsetLeft==iTarget){
clearInterval(timer);
}
else{
oDiv.style.left = oDiv.offsetLeft+speed+"px";
}
},30)
}
? </script>
2016-03-14
var oDiv = document.getElementById("div1");
var speed = (iTarget-oDiv.offsetLeft)/20;
speed = speed>0?Math.ceil(speed):Math.floor(speed);
把上面這一段代碼寫在定時器里面,每執行一次定時器speed的值就會改變一次,寫在定時器外面就不會變化了
2015-11-23
同問啊,我的代碼和老師寫的一樣,完全運動不起來啊