如何防止在清除间隔之前执行 setInterval() 之后的指令



我正在使用一个for循环,我正在更新一个svg。我希望每次循环后都有一个延迟,以便创建动画。我尝试将代码放在 setInterval 函数内的 for 循环中,以便创建动画效果。但是尽管语法完美,但该函数并未执行:

setInterval(func, 80);

相反,执行setInterval之后的指令。在调试模式下,如果我调试代码并保持运行很长时间,一段时间后将进入所需的循环。

所以,我想也许延迟太长了,并尝试减少延迟,但它也不起作用。我已经尝试了各种版本的setInterval语法,即带括号和不带括号、通过引用和复制,但它只是没有发生!

您可以使用以下命令来循环代码,而不是for循环,每次等待 100 毫秒

function UpdateSVG()
{
  // ... your code here
  setTimeout(UpdateSVG, 100);
}
UpdateSVG();

最新更新