js 中多次触发setInterval,如何在清除上一次的setInterval方法?

1.按钮点击事件,每点击一次触发一次setInterval()方法。
2.如何清除上一次触发的setInterval()方法?

阅读 10.1k
5 个回答
  window.onload = function(){
    let clearFlag ; 
    let btn = document.getElementById('app');
    btn.addEventListener('click',function(){
      let count_num = 10;
      clearInterval(clearFlag);
      function interval_fun(){
        console.log(count_num--)
      };
      clearFlag = setInterval(interval_fun,1000);
    });
  }
var timer;
function Click(){
   clearInterval(timer);//每次触发都先清除一次
   timer = setInterval(()=> {
      console.log('123');
     },1000)
}

首先每次的setInterval 起名字都用一个
然后每次点击按钮事件的时候,先做一次clear()

如:
click ()=> {

clearInterval(window.countdown);
window.countdown = setInterval(()=> {
  console.log('1111');
 }
},1000);

}

怕报错就给window.countdown一个默认值

用个数组接收每次的setInterval返回值,push进去,遍历清除,看下可行否

用一个变量存储定时器,每次触发之前先清除掉就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏