Jquery:多个clearTimeout的短代码

Jquery: Short code for multiple clearTimeout

我必须清除多个 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...); 我已经用彗差分隔试过这个,但那样不行。

你把它们放在一个数组中并迭代它们

var timers = [anim1, anim2, anim3, anim4] //can also be added when created
for (var t=0;t<timers.length;t++) {
   clearTimeout(timers[t]);
}

一般来说,当您需要对许多或未知数量的对象执行相同的操作时,您应该将它们放在一个数组中或将它们构建在一个对象中,您可以在其中以编程方式寻址 "all" 项。这是 indexed collections

的综合指南