2009-10-24 460 views
2

我創建了一個簡單的JQuery腳本,在一些鏈接上懸停效果。該腳本工作正常,你可以在這裏看到:Test Sample ...(請測試它在IE以外的任何瀏覽器)JQuery懸停效果問題

但如果我上的鏈接懸停快速,你會發現圖像圖標不作爲消失需要。我已經嘗試了一切來解決這個問題,但我找不到合適的解決方案。

現在的問題:如何確保mouseOver懸停效果完成後應用mouseOut懸停效果?

回答

2

您需要將stop()應用於已動畫的元素。 試試這個:

function hide_frame() { 
    var hoveredLang = $(this).parent();    
    hoveredLang 
     .find('.language-name').stop(true, true) 
     .find('.download-img').stop(true, true) 
     .find('.info-img').stop(true, true); 
    //eccetera... 
+0

是的......我明白了,它現在工作正常。 我應該將stop()應用於每個元素的每個效果。 非常感謝Alex&o.k.w :) – Brad 2009-10-24 13:52:55

2

因爲你的動畫效果有一段時間才能完成,所以你需要處理在動畫過程中發生盤旋/非懸停的情況。

我使用jQuery的stop功能(http://docs.jquery.com/Effects/stop

EG。 (「selector」)。stop(true,true).youreffect(.....);

試試看吧。

+0

感謝您的幫助例如: 我是這樣做的,如你所說,我寫在unhover事件: $(this).stop(true,true); 但是沒有什麼改變...你可以在網上的樣本中查看它,我已經更新它。但是你的想法是正確的...問題是因爲我在懸停效果的持續時間完成之前取消了這麼快。 有沒有其他建議? – Brad 2009-10-24 08:30:13