為什么把 var timer=null放進startmove()里就不起作用,多次觸碰還是會變快
function?startmove()?{
????var?timer=null;
????clearInterval(timer);
????var?oDiv=document.getElementById("div1");
????timer=setInterval(function?()?{
????????if?(oDiv.offsetLeft==0){
????????????clearInterval(timer);
????????}else?{
????????????oDiv.style.left=oDiv.offsetLeft+1+'px';
????????}
????},50)
}
2018-04-28
當你多次觸碰時,上一次的定時器timer被?
重新賦值了(即timer這個定時器的對象找不到了),導致clearInterval(timer),起不了作用。
應該將var timer=null;寫在函數的外面