請考慮以下內容: 有一個面板(讓它是一個div元素)誰的高度是使用懸停功能控制的。動畫的唯一CSS屬性是高度。兩個動畫(鼠標懸停高度+ = 500px;鼠標懸出高度= 500px)的持續時間爲10秒。 你可以想象一下:在這20秒的時間內,你可以'不小心'滾動鼠標至少10次。修改懸停jquery功能
jquery做的是記住所有發生的事情(用鼠標),並鏈接一個不需要的動畫鏈表。
我需要你們幫我防止這種情況。
請考慮以下內容: 有一個面板(讓它是一個div元素)誰的高度是使用懸停功能控制的。動畫的唯一CSS屬性是高度。兩個動畫(鼠標懸停高度+ = 500px;鼠標懸出高度= 500px)的持續時間爲10秒。 你可以想象一下:在這20秒的時間內,你可以'不小心'滾動鼠標至少10次。修改懸停jquery功能
jquery做的是記住所有發生的事情(用鼠標),並鏈接一個不需要的動畫鏈表。
我需要你們幫我防止這種情況。
很簡單:
使用stop()
(docs)方法停止動畫。
使用它作爲.stop(true,true)
來清除隊列,並在開始新隊列之前跳到最後,儘管我不確定這是你想要的。
如果你的意圖是讓動畫完成,然後用not-selector
(docs),並與is()
(docs)方法只運行動畫,如果當前沒有動畫沿着animated-selector
(docs)。
這將防止在隊列中堆積。
if($(this).is(':not(:animated)')) {
// do the animation
}
你能請註明「動畫完成處理程序」 – Birowsky 2011-01-28 09:20:03