gpt4 book ai didi

javascript - 在 Javascript 中的 while 循环内创建暂停

转载 作者:行者123 更新时间:2023-12-03 11:06:08 25 4
gpt4 key购买 nike

我想在 while 中创建一个暂停循环,以便我可以创建 n动画,每一个在另一个之后出现 3 秒。
我尝试了以下方法,但它不起作用。希望有人告诉我我做错了什么。

i=0;
while (i < n) {
someanimation();
setTimeout(function(){
i++;
}, 3000);

};

最佳答案

setTimeout不暂停;它要求 Javascript 稍后运行一些其他代码。
谷歌搜索“setTimeout loop”会告诉你你需要知道什么。如果你环顾四周,它甚至会提到 setInterval。区别:使用 setTimeout 循环将在循环之间等待 3 秒,而 setInterval 将使循环总共需要 3 秒(包括动画花费的时间,只要它少于 3 秒 :) )。此外, setInterval 构造了一个无限循环,您必须在所需的次数后退出该循环; setTimeout 需要您自己构建循环。

i = 0;

// setTimeout approach
function animation_loop() {
someAnimation();
setTimeout(function() {
i++;
if (i < n) {
animation_loop();
}
}, 3000);
};
animation_loop();

// setInterval approach
i = 0;
someAnimation();
iid = setInterval(function() {
i++;
if (i < n) {
someAnimation();
} else {
clearInterval(iid);
}
}, 3000);

关于javascript - 在 Javascript 中的 while 循环内创建暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4548034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com