2012-02-12 68 views
1

我想在浏览器中打开新的选项卡时停止我的jQuery动画。每当我离开我的页面一段时间后,我回来一段时间后,我的jQuery滑块变得疯狂,它改变幻灯片像疯了一样,因为我没有阻止它。你有一些解决方案吗?如何停止我的页面不活动时的jquery动画

+0

请张贴详细的例子以及一些相关的代码。我知道你已经得到了你的答案,但是这件事对未来的读者来说将是无用的。 – Sparky 2012-02-12 02:53:49

回答

3

我读了一些关于这个,它叫做动画队列积累。开始新标签时不要试图停止动画,而应在开始动画之前放入stop()

这将确保以前的动画,然后再继续杀....

例如:

$('.some-selector').stop().slideUp(); 

希望这有助于...

+0

非常感谢,这就是我一直在寻找的! – user794596 2012-02-12 01:56:56

+0

如何以这种方式使用'stop'帮助他_“...我回来一段时间后,我的jquery滑块变疯狂了......”_? @ user794596,我很高兴你很高兴,但是你写的问题的方式,目前还不清楚这个答案如何解决任何问题。请更新您的问题,以便使这个答案更有意义。 – Sparky 2012-02-12 03:00:23

6

在JavaScript:

window.addEventListener('focus', function() { 
    // code to start 
}); 
window.addEventListener('blur', function() { 
    // code to stop 
}); 

jQUery:

$(window).bind('focus', function() { 
    // code to start 
}); 
$(window).bind('blur', function() { 
    // code to stop 
}); 
+0

好的,谢谢。这也是很好的解决方案。 – user794596 2012-02-12 02:05:44

+0

['.bind()'](http://api.jquery.com/bind/)是旧的方式。对于jQuery 1.7及以上... ['.on()'是首选方法](http://api.jquery.com/on/)。 – Sparky 2012-02-12 02:56:02

+0

这个解决方案对我来说真的很好。谢谢! – 2014-01-16 16:14:18