在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ javascript 中 setInterval()這個(gè)這個(gè)函數(shù)我們?nèi)〔坏剿祷?/span>

javascript 中 setInterval()這個(gè)這個(gè)函數(shù)我們?nèi)〔坏剿祷氐闹?,但是我們還想將他去掉,那么怎么去呢

var I = setInterval() 這個(gè)函數(shù)我們?cè)谡{(diào)用他的時(shí)候 返回一個(gè)I 是他的id
當(dāng)這個(gè)方法封裝到某個(gè)某塊里面我們?nèi)〔坏竭@個(gè) I 那么我們有辦法清除這個(gè)定時(shí)器嗎
如果沒(méi)辦法單獨(dú)清楚這個(gè) setInterval 有辦法將當(dāng)前所有的 setInterval 定時(shí)器清除嗎。

回答
編輯回答
扯機(jī)薄

1:封裝的時(shí)候你可以將定時(shí)器id作為返回值的一部分,然后通過(guò)clearInterval清除
2:封裝里面加上清除的操作的方法

2018年9月1日 11:54
編輯回答
焚音

因?yàn)橹皩?xiě)的setInterval 用 clearInterval清除時(shí),setInterval返回的timeout會(huì)丟失。我在做的時(shí)候把setInterval返回的timeout push到arr數(shù)組里面,每次重新調(diào)用setInterval之前判斷arr.length是否大于零,大于零循環(huán)遍歷調(diào)用clearInterval清除定時(shí)器。

2018年2月22日 18:50
編輯回答
浪蕩不羈

在你的模塊里增加一個(gè)方法用于清除定時(shí)器,在模塊外部可以調(diào)用

function destory(){
    //...清除所有Interval
}
2018年2月26日 23:52
編輯回答
陌顏

建議自己封裝一個(gè)mySetInterval,方便操作

function mySetInterval(func, delay) {
   const id = setInterval(func, delay);
   return () => clearInterval(id);
}
const cancel = mySetInterval(func, delay);
cancel();
2017年4月1日 16:12
編輯回答
真難過(guò)

那你封裝個(gè)clearInterval方法到相同的地方,要清除的時(shí)候調(diào)用一下就好了。

2018年5月7日 22:58
編輯回答
別逞強(qiáng)
function timer() {
  var timeout;
  ...
  var timered = function(){
    timeout = setInterval(function() {
      ...
    })
  }
  timered.cancel = function() {
    clearInterval(timeout)
    timeout = null
  }
  return timered
}
2017年11月18日 18:14