鍍金池/ 問(wèn)答/HTML/ js 中多次觸發(fā)setInterval,如何在清除上一次的setInterv

js 中多次觸發(fā)setInterval,如何在清除上一次的setInterval方法?

1.按鈕點(diǎn)擊事件,每點(diǎn)擊一次觸發(fā)一次setInterval()方法。
2.如何清除上一次觸發(fā)的setInterval()方法?

回答
編輯回答
墨染殤

用一個(gè)變量存儲(chǔ)定時(shí)器,每次觸發(fā)之前先清除掉就行了

2018年1月16日 20:27
編輯回答
凹凸曼

用個(gè)數(shù)組接收每次的setInterval返回值,push進(jìn)去,遍歷清除,看下可行否

2017年9月12日 23:00
編輯回答
不將就

首先每次的setInterval 起名字都用一個(gè)
然后每次點(diǎn)擊按鈕事件的時(shí)候,先做一次clear()

如:
click ()=> {

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

}

怕報(bào)錯(cuò)就給window.countdown一個(gè)默認(rèn)值

2017年1月22日 21:06
編輯回答
小曖昧
  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);
    });
  }
2017年10月10日 23:55
編輯回答
風(fēng)畔
var timer;
function Click(){
   clearInterval(timer);//每次觸發(fā)都先清除一次
   timer = setInterval(()=> {
      console.log('123');
     },1000)
}

2017年12月29日 15:19