如何清除匿名定时器

来源:互联网 发布:超图软件不动产培训 编辑:程序博客网 时间:2024/05/01 10:56

在JS中,并没有查看所有定时器的接口,所以无法知道程序中使用了多少个定时器,更无法知道定时器对应的执行函数,在这种情况下,我们一来难以清除匿名定时器,二来难以一次清除所有的定时器。

幸好,现在主流的浏览器(包括最新的Chrome、Firefox以及ID)都默认给定时器分配了一个较小的ID,数字一般小于9999。利用这个特性,我们可以很轻易地清除掉所有的定时器,包括匿名定时器与命名定时器。

示例如下:

//  首先定义两个定时器 var h1 = document.querySelector("h1"),     h2 = document.querySelector("h2"),     i = 0;//  定时器1      setInterval(function() {    h1.innerHTML = i ++; }, 1000)//  定时器2 var h2Timer = setInterval(function() {    h2.innerHTML = i; }, 1000)

所涉及到HTML如下:

<h1>0</h1><h2>0</h2>

充分利用定时器的匿名ID特性,一次性清除所有的定时器,代码如下:

for(var i = 0; i < 9999; i++) {    clearInterval(i)}

无论何时执行上面的代码,浏览器中的所有定时全部同时停止执行。

0 0