• 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

  • 相关阅读:
    Mysql优化之Explain查询计划查看
    map转listmap
    代码大全
    cas
    日志
    xml模板
    springboot
    日志
    spring应用
    拆分表中sheet
  • 原文地址:https://www.cnblogs.com/daysme/p/6428439.html
Copyright © 2020-2023  润新知