2011-07-16 269 views
0

我有一個帶有jQuery動畫的菜單欄。它有一個滑動的圖像效果。當您將鼠標懸停在每個項目上時,圖像會發生變化,當您將鼠標懸停在整個菜單欄上時,它會更改爲默認菜單欄。jQuery停止動畫

問題:但是,如果您在當前活動的動畫完成之前將鼠標懸停在整個菜單欄上,它將不會更改爲上面提到的默認圖像,並且您將被卡在其他圖像上,直到您再次將鼠標移出慢。這經常發生,並導致動畫讓他們的方向都搞砸了。

我需要一種方法來使用jQuery在中間停止所有其他動畫,當我將鼠標移出整個菜單時。所以,只要你的鼠標離開整個區域,取消所有的動畫,並回到默認狀態。

我的JS文件已經過壓縮,但你可以到這裏看看: http://designsweeter.com/live/bcmedical/wp-content/themes/designsweeter/scripts/menu.js

美化JS: http://designsweeter.com/live/bcmedical/prettymenu.js

+0

您能否提供未經縮小的相關代碼。我害怕,我們能做的不多。 – karim79

+0

我沒有。 HD備份失敗。我保留了我的音樂備份,編輯友好的png和psd文件等等。一切都消失了。 :/ 是不是有一個jQuery代碼來停止當前的動畫? – alt

+0

不太清楚JsBeautifier的工作原理,但我已經提供了代碼。 – alt

回答

2

不能給出一個具體的答案會導致您的代碼非常混亂,但嘗試包括本回電話。

jQuery('ul.your-menu').mouseout(function() { 
    jQuery(this + ' li').stop(true, true).animate(*YOUR CODE HERE - to return to default image*); 
} 

你需要更換選擇和.animate代碼以匹配您的具體情況。

希望這會有所幫助!

+0

在第二行中,您可能想要使用子函數而不是追加到'this'變量,就像我一樣。 – Toby

+0

我很驚訝,你第一次嘗試使用我的可怕代碼就可以了。 (對不起,順便說一下) – alt