為什么這段代碼越運行越快?
<script type="text/javascript">
var area=document.getElementById('moocBox');
var ilight=24;
area.scrollTop=0;
area.innerHTML+=area.innerHTML;
var time ;
function startMove(){
area.scrollTop++;
time=setInterval('scrollUp()',50);
}
function scrollUp(){
if (area.scrollTop%ilight == 0 ) {
clearInterval(time);
setTimeout("startMove()",2000);
}else{
area.scrollTop++;
if(area.scrollTop>=area.scrollHeight/2){
area.scrollTop=0;
}
}
}
setInterval("startMove()",2000)
</script>
信息滾動效果制作的 3-3 精簡前的和精簡后的代碼一直看不太明白,有沒有大神能夠講解一下的,謝謝
2016-08-08
setTimeout 它運行一次,調(diào)用一次函數(shù)就停止了;
setInterval("startMove()",2000),它每隔2000ms就調(diào)用一次函數(shù),然后這些調(diào)用的函數(shù)作用疊加...
用了setInterval,就一定要使用clearInterval,不然函數(shù)根本停不下來.
2016-06-11
問題解決了:最后一行setInterval("startMove()",2000)應該改成setTimeout 可是代碼還是不太懂 求大神講解