js——坑14 定时器加快

柔情只为你懂 2022-06-01 06:29 193阅读 0赞

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

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

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

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

  1. var t=null;
  2. function time(){
  3. if(t==null){
  4. t=setInterval(function(){
  5. iNow++;
  6. if(iNow>aLi.length-1){
  7. iNow=0;
  8. }
  9. move(iNow)
  10. },2000);
  11. }
  12. }

总结:问题就出在未正确清除定时器或者开启了不希望的定时器。

发表评论

表情:
评论列表 (有 0 条评论,193人围观)

还没有评论,来说两句吧...

相关阅读

    相关 js_定时器

    定时器 如:3秒之后执行某方法: var timeoutId = setTimeout(function()\{xxx\},3000); 或 function test

    相关 JS定时器

    JS定时器 一、一次性定时器 二、间接触发定时器 调用定时器后默认会返回这个定时器的id,可以根据这个id来删除定时器 一、一次性定时器