zoukankan      html  css  js  c++  java
  • js清除未知定时器的方法

    js清除未知定时器的方法

    在需要有实时性更新数据的项目中,我们经常会用到很多定时器,我们可能需要一个可以一次性清除所有定时器的方法,并且不通过指定ID一个一个去清除,以下提供两种解决方案:

     

    1.定义全局变量,通过js遍历清除

    这种方法在项目中所使用到的定时器必须赋值记录到定义好的全局变量中,实现模拟代码如下:

    var pageTimer = {} ; //定义计算器全局变量
    //赋值模拟
    pageTimer["timer1"] = setInterval(function(){},2000);
    pageTimer["timer2"] = setInterval(function(){},2000);
    //全部清除方法
    for(var each in pageTimer){
        clearInterval(pageTimer[each]);
    }
     

    2.暴力清除方式

    设置一个比较大的数值,循环清除,模拟代码如下:

    for(var i = 1; i < 1000; i++) {
    clearInterval(i);
    }

    分析:实际上暴力清除的方式是不可取的,在不得已情况下才使用,在IE下,定时器返回值在IE下面是8位数字如:248147094,并且起始值不能确定,而Chrome和firefox下是从1开始的个位数字,一般项目还是建议第一种,并且第一种的扩展性也好,比如可以做个方法,清除除了指定定时器之外的所有定时器。

    引:http://blog.csdn.net/canpark/article/details/8969183

  • 相关阅读:
    2021-5-14 日报博客
    2021-5-13 日报博客
    2021-5-11 日报博客
    2021-5-10 日报博客
    2021-5-8 周报博客
    团队介绍——北部大队
    周总结4
    梦断代码阅读笔记02
    周总结3
    周总结2
  • 原文地址:https://www.cnblogs.com/daysme/p/6428439.html
Copyright © 2011-2022 走看看