如何暂停Javascript执行

问题描述 投票:0回答:1

我有一个要迭代的元素数组,将addClass添加到有问题的每个DOM元素中,然后在1秒钟后使用removeClass将其删除,然后移至数组中的下一个元素并执行相同的操作。

发生的是,数组中的所有元素都一次应用了addClass,然后依次相隔1秒删除每个元素。因此,removeClass行有效,但我无法弄清楚为什么addClass不起作用。我可以手动输入addClass的MS数量,该数量将按预期工作。

function runSequence () {    
  randomSequence();    
  for (let i = 0, timer=0; i < sequence.length; i++) {    
    setTimeout(function () { $('.' + sequence[i]).addClass('button-press'); }, (timer * 1000));
    setTimeout(function() { $('.' + sequence[i]).removeClass('button-press'); }, ((timer++) * 1000));
  }
}
javascript dom settimeout pause
1个回答
1
投票

每次您想延迟时,可能更容易await答应:


0
投票

等等,您正在使用jQuery ...它将找到全部并将类添加到全部。

© www.soinside.com 2019 - 2024. All rights reserved.