我必须清除多个setTimeout函数
$('#stop').click(function(){
clearTimeout(anim1);
clearTimeout(anim2);
clearTimeout(anim3);
clearTimeout(anim4);
clearTimeout(anim5);
clearTimeout(anim6);
clearTimeout(anim7);
clearTimeout(anim8);
clearTimeout(anim9);
clearTimeout(anim10);
});
有没有什么方法可以缩短像clearTimeout(anim1,anim2,anim3...);
这样的代码我已经用昏迷分离尝试了这个但是它没有这样做。
答案 0 :(得分:2)
你把它们放在一个数组中并迭代它们
var timers = [anim1, anim2, anim3, anim4] //can also be added when created
for (var t=0;t<timers.length;t++) {
clearTimeout(timers[t]);
}
通常,当您需要对许多或未知数量的对象执行相同的操作时,您应该将它们放在一个数组中,或者将它们组织在一个对象中,您可以在该对象中添加&#34; all&#34;项目编程。这是flush
的综合指南