在循环结束时添加暂停
Adding Pause at end of Loop
下面的代码工作正常,直到我尝试在其中添加暂停。 基本上,它会循环并且看起来很正常,但几次之后它就会追上自己并引起很多奇怪的反应。 我很好奇是否有更好的方法来实现我的目标。
var popups = $('.animate');
var i = 0;
var pT = 2000;
function animatePopup() {
if (i >= popups.length){
i = 0;
}
popups.eq(i).addClass("show")
.delay(2000)
.queue(function() {
$(this).removeClass("show");
$(this).dequeue();
if (i == popups.length) {
setInterval(animatePopup, pT);
} else {
animatePopup();
}
});
i++;
}
animatePopup();
使用 setTimeout
而不是 setInterval
setInterval
间隔运行代码/函数,它们之间的超时长度,但它会继续运行它们。另一方面,setTimeout
在指定时间结束时运行一次
这是一个片段,如果你把setTimeout
改回setInterval
你会看到它也变疯了
function recurrentDelayedFunction() {
$('#out').append('ran<br>');
setTimeout(recurrentDelayedFunction, 2000);
}
recurrentDelayedFunction();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id=out></div>
相关文章:
- 将“暂停”添加到图像滑块
- 如何在 if else 语句期间添加暂停/延迟
- 在动画中添加播放/暂停
- 在仅幻灯片 JavaScript 上添加播放/暂停按钮
- JQuery 暂停表单提交,添加帖子数据,然后提交
- 如果鼠标移动到图像上,我如何添加鼠标事件,它将显示播放/停止/暂停按钮
- 在 jQuery 中添加悬停暂停
- 在javascript游戏中添加暂停函数时遇到问题
- 如何在wowsliderjs文件中添加暂停和播放按钮
- 如何向正在运行的setInterval添加暂停/播放功能
- 为滑块添加暂停功能
- 在运行循环的每一行时添加一个暂停
- 在HTML5视频中添加事件监听器来播放,暂停和跳转到秒
- 如何在每一次“暂停”的迭代过程中添加一个暂停;对于循环“;使用Javascript
- 在JS中添加文件下载时的暂停
- 添加'2秒暂停'在单击中呼叫业务
- 在转盘上添加暂停/播放功能
- 修复ESPN转换(添加暂停按钮)
- 在游戏 JavaScript 中添加暂停键
- 在循环结束时添加暂停