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开始的个位数字,一般项目还是建议第一种,并且第一种的扩展性也好,比如可以做个方法,清除除了指定定时器之外的所有定时器。

  • 相关阅读:
    有关类成员变量和局部成员变量初始值设置问题
    Redis在windows下安装与配置
    java内存区域-方法区
    Java中的反射机制(一)
    (转)Spring实现IoC的多种方式
    UUID
    Python os.path
    Leetcode 215、数组中第k个最大的元素
    树的非递归遍历
    About MySQL
  • 原文地址:https://www.cnblogs.com/miangao/p/6848731.html
Copyright © 2011-2022 走看看