2
使用jQuery 1.7.2如何停止()的動畫,但允許當前完成
$(function(){
$('#parentElem').mouseenter(function(){
$('.myElem').animate({opacity:1}, 'fast');
}).mouseleave(function(){
$('.myElem').stop().animate{opacity:0}, 'slow');
});
});
在這個例子中,我有淡入上mouseenter
事件後暫停,並再次淡出元素(在mouseout
)給予悸動效果。
但是我有一個問題 - 使用.stop()
方法,當前正在運行的動畫將被中斷並再次退出 - 我的'throb'效果不起作用。當然,這正是.stop()
爲爲 - 但是我真正想要做的就是清除隊列並讓當前動畫完成,同時向隊列中添加淡出動畫。
任何想法?
P.S我也嘗試了.clearQueue()
方法,但這表現出類似的行爲。
編輯: 我真的應該提到的東西 - 我需要在遊標結束時保持淡入的元素 - 所以使用animate函數的回調不會解決它。我更新了代碼以使其更加明顯。對不起,有任何困惑。
很好的答案,謝謝。我現在正在額頭上拍掌,因爲我沒有正確解釋問題 - 對不起。請參閱更新後的問題 – jammypeach 2012-01-09 11:57:23
@jammypeach沒問題,答案已更新。 – 2012-01-09 12:04:08
很優雅,謝謝。這對我來說很有效 - 你在stopAnimation的if測試中在動畫中缺少一個開放的括號:) – jammypeach 2012-01-09 12:07:06