延迟 JavaScript 循环
可以使用 setTimeout() 函数在 JavaScript 循环中引入延迟。但是,setTimeout() 的默认行为是立即执行。要引入延迟,我们需要使用递归循环。
实现此目的的一种方法是使用 for 循环并在循环内调用 setTimeout()。然而,这种方法遇到了一个问题,因为所有的 setTimeouts 都会被立即安排,导致同时出现多个警报。
为了解决这个问题,我们需要使用一个延迟调用自身的递归函数。以下代码演示了这种方法:
var i = 1; // set your counter to 1 function myLoop() { // create a loop function setTimeout(function() { // call a 3s setTimeout when the loop is called console.log('hello'); // your code here i++; // increment the counter if (i < 10) { // if the counter < 10, call the loop function myLoop(); // .. again which will trigger another } // .. setTimeout() }, 3000) } myLoop(); // start the loop
在此代码中,我们创建一个名为 myLoop() 的递归函数,其中包含一个 3 秒的 setTimeout()。在超时时间内,我们增加计数器并检查它是否小于 10。如果是,我们再次调用 myLoop(),从而在每个警报之间引入延迟。
以上是如何在 JavaScript 循环中引入延迟?的详细内容。更多信息请关注PHP中文网其他相关文章!