清除定時器的疊加有什么用?
ar timer=null;
var apha=30;
function changeColor(target){
clearInterval(timer);//就這句代碼不懂
var box1=document.getElementById('box1');
timer=setInterval(function(){//為什么這里不要參數(shù)
var speed=0;
if(apha>target)
{
speed=-5;
}else{
speed=5;
}
if(apha==target)//什么條件呢
{
clearInterval(timer);
}else{
apha+=speed;
box1.style.filter="alpha(opacity:'+apha+')";
box1.style.opacity=apha/100;
}
},20)
}
2016-03-10
使用setInterval 會返回一個數(shù)值來標記這個setInterval而且不是人為規(guī)定的數(shù)值,用timer來標記這個數(shù)值。用clearInterval來清除這個setInterval 不然setInterval會不斷以一個間隔來重復觸發(fā)里面的function,例如不斷賦給一個變量一個相同的值。消耗內(nèi)存。最簡單的方面不清除定時器的疊加會讓setInterval不斷疊加,比如speed是每秒鐘1PX移動,你重復觸發(fā)5次就變成了每秒鐘5PX移動,而且無法停止。至于函數(shù)為什么沒有參數(shù),你可以在回去復習一下JS的語法,入門的就可以了。
2016-03-15
防止出現(xiàn)多個定時器