oDiv.offsetLeft替换成oDiv.style.left 遇到bug
var timer=null; function stateMove(iTarget){ var oDiv=document.getElementById('div1'); clearInterval(timer); if(oDiv.offsetLeft > iTarget){ speed=-10; }else{ speed=10 }; timer=setInterval(function(){ if(oDiv.offsetLeft==iTarget){ clearInterval(timer); }else{ oDiv.style.left=oDiv.offsetLeft+speed+'px'; }; },30); }
这段代码为什么使用 if(oDiv.offsetLeft > iTarget){ 而不是使用if(oDiv.style.left> iTarget){ 和目标比较 。
我试过了第二种方法 出现了一点小bug就是div在结束的时候 一直在跳动,这是为什么?