js定时器关闭,一次关闭所有正在运行的定时器,自定义函数clearIntervals()一次关闭所有正在运行的定时器,原理:利用数组存储定时器id,然后遍历数组,关闭定时器
附上页面的截图,代码在截图下,想看效果就自己复制下边的代码,保存个页面看吧:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>clearIntervals()一次关闭所有定时器</title>
</head>
<body>
<div>下面有三个定时器  以不一样的时间间隔输出不同内容</div><br><br>
<input type='button' value='输出“liu” 初始一秒4次' >
<input type="button" value="输出“jin” 初始一秒2次">
<input type="button" value="输出“yu” 初始一秒1次">
<button id='clear' style='margin-left:50px;'>清除所有定时器</button>
<div id="div1"></div>
 
<script type="text/javascript">

var oDiv = document.getElementById('div1');
    var aInput = document.getElementsByTagName('input');
    var oBtn = document.getElementById('clear');
    var arr = [];
    var txt = '';
    //每次生成的定时器都单独有一个数组里的位置,避免了冲突
    aInput[0].onclick=function(){
        arr.push(setInterval(liu, 250));
    }
    aInput[1].onclick=function(){
        arr.push(setInterval(jin, 500));
    }
    aInput[2].onclick=function(){
        arr.push(setInterval(yu, 1000));
    }
    //调用自定义函数 用一个for循环 关闭数组中存储的所有定时器;
    oBtn.onclick=function(){
        clearIntervals(arr);
    }

function liu(){
        txt = txt.concat(' Liu')
        oDiv.innerHTML=txt;
        return txt;
    }
    function jin(){
        txt = txt.concat(' Jin')
        oDiv.innerHTML=txt;
        return txt;
    }
    function yu(){
        txt = txt.concat(' Yu')
        oDiv.innerHTML=txt;
        return txt;
    }
    //原理 用一个数组来保存所有定时器的id
    function clearIntervals(array){
        for (var i = array.length - 1; i >= 0; i--) {
            // if (typeof array[i] !== 'undefined') {
                clearInterval(array[i]);
            // };
        };
    }

</script>
</body>
</html>

最新文章

  1. Android 自定义View 总结
  2. Android 4.0.3 CTS 测试
  3. 使用 JavaScript 实现链表
  4. wait方法和sleep方法的区别
  5. 【Android 开源】:最火的Android开源项目 第02期
  6. linuxC编程实战 my_server.c例子问题总结
  7. Java开发者易犯错误Top10
  8. grok 官方文档
  9. Hibernate + MySQL中文乱码问题
  10. javascript 变量转义
  11. Dom7.js 源码阅读备份
  12. linux C 文件操作之fscanf()
  13. Language Modeling with Gated Convolutional Networks
  14. 移动端Web资源整合
  15. Counting
  16. [POI2008] BLO
  17. UVa 12230 - Crossing Rivers(数学期望)
  18. hibernate二级缓存实例
  19. spring cloud 订单调用用户
  20. CodeForces - 156C:Cipher (不错的DP)

热门文章

  1. FROM_UNIXTIME()时间戳转换函数
  2. 【源码阅读】SpringBoot-v2.2.0启动过程以及细节
  3. Springboot Actuator之十二:actuator aop
  4. iphone如何安装mitmproxy的pem文件(当iphone无法使用邮箱时)
  5. Java学习:线程实现方式
  6. go中&amp;^(按位置零)符号的含义
  7. 数据库‘master’中拒绝CREATE DATABASE权限
  8. bytearray与矩阵转换对应关系
  9. 使用Beef劫持客户端浏览器并进一步使用Beef+msf拿客户端shell
  10. Spring中获取外部配置文件中的属性值