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在结束的时候 一直在跳动,这是为什么?