「如何管理页面定时器」
- setTimeout/setInterval返回一个定时器id
- 定时器id是递增的 并且 > 0
- 定义一个全局变量,每次新建定时器都存到pageTimer里
- 需要清除的时候,调用pageTimer的clearAll方法
var pageTimer = (function() {
var all = {};
return {
timers: all,
add: function(key, value) {
all[key] = value;
},
clearAll: function() {
for (let key in all) {
clearTimeout(all[key]);
}
},
};
})();
pageTimer.add(
'one',
setInterval(function() {
console.log('i am 1');
}, 1000)
);
pageTimer.add(
'two',
setInterval(function() {
console.log('i am 2');
}, 1000)
);