关于定时器的问题

<script type="text/javascript">


window.onload=function(){

    var aDiv =document.getElementsByTagName('div');

    for(var i=0;i<aDiv.length;i++){

        aDiv[i].timer=null;    //给每一个div加上一个定时器    第5行

        aDiv[i].onmouseover=function(){

            move(this,400);

        }

        aDiv[i].onmouseout=function(){

            move(this,100);

        }

    }

}

// var timer=null;

function move(obj,iTarget){

    clearInterval(obj.timer);

    obj.timer=setInterval(function(){

        var speed =(iTarget-obj.offsetWidth)/6;

        speed=speed>0?Math.ceil(speed):Math.floor(speed);

         if(obj.offsetWidth==iTarget){

             clearInterval(obj.timer);

         }

         else{

             obj.style.width=obj.offsetWidth+speed+'px';

         }

    },30)

}

想请教一下,为什么第5行的代码给删掉还能执行了?


波斯汪
浏览 401回答 1
1回答

尚方宝剑之说

这行代码并不是增加计时器,setInterval 才是,而 timer 只是记录了定时器返回的值,方便以后调用 clearInterval 清除这个计时器。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript