Javascript setInterval 需要很长时间才能重置
Javascript setInterval taking too long to reset
嘿,我有一个面板(br_Panel),其中包含四个div,类为"smallPanel"和id br_Panel1,br_Panel2等,它们大小相同且相等,并且位置相互重叠。当函数运行时,每 5 秒就会淡出一个并显示下面的一个,当它们全部淡出时,它们都会随着淡入而返回。问题是最后一个div 的淡出和所有div 的淡入之间的暂停是 15 秒,是每个div 离开所需时间的三倍。如何将此重置时间暂停减少到 5 秒?
setInterval(function() {
if(i < 0) {
$('#br_Panel').find($('.smallPanel')).fadeIn();
i = 5;
}
else
i--;
$('#br_Panel').find($('#br_Panel' + i)).fadeOut();
}, 5000);
这是 html(如果有帮助,每个最里面的div 都绝对定位为 #br_Panel,以便它们相互重叠):
<div class="height1 panel" id="br_Panel">
<div class="smallPanel" id="br_Panel1">content</div>
<div class="smallPanel" id="br_Panel2">content</div>
<div class="smallPanel" id="br_Panel3">content</div>
<div class="smallPanel" id="br_Panel4">content</div>
</div>
您提到您的br_Panel包含四个带有 smallPanel 类的div,但是您的间隔函数将在重置之前运行六次i
(5、4、3、2、1、0)。 可能是您的函数运行的次数比所需多 2 次,这会导致您的延迟比应有的时间长 10 秒。
另外,当使用 .find() 时,你只需要传入你正在使用的字符串 css 选择器,而不是输入 jQuery 对象:
$('#br_Panel').find('.smallPanel').fadeIn();
相关文章:
- 为什么我的上下文选择器和.buttonset()在ie中花费了这么长时间
- 谷歌地图需要很长时间才能在ie11中渲染
- 有没有一种方法可以检查javascript以毫秒为单位执行一个函数需要多长时间
- 我一直收到的控制台警告是什么?推迟长时间运行的计时器任务以提高滚动的流畅性
- 为什么这个代码不起作用?我花了很长时间试图弄清楚这一点
- 如何在长时间执行JavaScript期间显示微调器
- 长时间轮询:每个浏览器中的通知
- 完整日历:如何支持一次点击和不长时间点击
- 如何使用 javascript 停止对 asp.net 进行正在进行的回发(长时间运行的执行)
- 为什么这个 AJAX 调用需要这么长时间
- 为什么这个正则表达式需要这么长时间才能执行
- 如何修复长时间运行的脚本
- Node.js中的垃圾收集作用域-变量将保持设置状态多长时间
- javascript秒表限制最长时间
- 长时间运行的脚本IE与Chrome/Firefox
- 有没有一种方法可以在长时间运行的JavaScript操作之前强制回流
- 我的无引用 JavaScript 对象存在在哪里以及存在多长时间
- 为什么chromecast在动画帧之间需要这么长时间
- Javascript setInterval 需要很长时间才能重置
- chrome setInterval()用于模糊选项卡无法正常工作,即使是1秒或更长时间