2012-02-12 70 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