欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js定时器加快的问题解决

程序员文章站 2022-07-08 19:54:11
一共遇到两次定时器加快的情况了。 第一次是因为清除定时器时把timer=null写在了clearInterval(timer)之前。 这一次是因为onmouseout时竟然执行...

一共遇到两次定时器加快的情况了。

第一次是因为清除定时器时把timer=null写在了clearInterval(timer)之前。

这一次是因为onmouseout时竟然执行了两次time函数(time函数内启动定时器),相当于开了两个定时器,所以时钟加快。

如下这样写就不会有问题了:

var t=null;
    function time(){
        if(t==null){
            t=setInterval(function(){
                iNow++;
                if(iNow>aLi.length-1){
                    iNow=0;
                }
                move(iNow)
            },2000);
        }
    }