感谢阅读。
在我的主页上,我制作了一个脚本,通过列表制作列表项来改变他们的课程。
事实是,在Firefox中,当我在另一个标签上一段时间后,动画开始堆叠。当我回到包含我的主页的选项卡时,循环以非常高的速度开始,并且在所有堆叠的动画完成之前不会恢复正常。
如何阻止这个? :S
编辑: 让我试着解释一下...... 当列表项的类改变时,那里会有一些渐弱的动画。每隔9秒,一些图形和文字就会因为它而消失,而其他人则因此而退色。
因此,如果我在另一个Firefox标签上,例如写在这里,然后我回到我的网站标签,这个动画开始变得疯狂,就像他们等着我回去一样,他们就像每一个0.1一样几秒钟,直到所有等待完成的人,他们回到通常每9秒更换一次。
答案 0 :(得分:2)
.stop()
:
$("selector").stop(true,true).animate(...)
答案 1 :(得分:2)
答案 2 :(得分:0)
如何使用setTimeout而不是setInterval。 setInterval将叠加,因为setInterval中的代码每隔一段时间调用一次。具有递归调用的setTimeout将不会堆叠,因为每个后续调用都需要先前完成。
function do_timeout() {
/*do your timeout code*/
setTimeout(function () {do_timeout();}, 1000);
}
$(document).ready(function () {
do_timeout();
});