javascript - 关于定时器的问题

查看:76
本文介绍了javascript - 关于定时器的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<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行的代码给删掉还能执行了?

解决方案

这行代码并不是增加计时器,setInterval 才是,而 timer 只是记录了定时器返回的值,方便以后调用 clearInterval 清除这个计时器。

这篇关于javascript - 关于定时器的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆