2012-12-14 72 views
2

可能重複:
jQuery: interrupting fadeIn()/fadeOut()jQuery的快速切換淡入/淡出,即使沒有完成

jQuery的淡入淡出效果真的很順利,只有一個問題,我看到: 當你將鼠標懸停在物品上方時,它會淡入,現在如果你快速懸停在物品上以啓動淡出,淡出效果將一直等到淡入淡出完成,這看起來很奇怪。

是否有可能將fadeIn效果停止在激活懸停的任何值,以便它立即執行fadeOut?

這裏是我的代碼

$(document).ready(function() { 

$("#menu").hover(
    function() { 
    $("#fade").fadeIn(300); 
    }, 
    function() { 
    $("#fade").fadeOut(300); 
    } 
); 


}); 

回答

4

告訴jQuery的開始新的一個前停止當前的動畫:

$("#menu").hover(
    function() { 
    $("#fade").stop().fadeIn(300); 
    }, 
    function() { 
    $("#fade").stop().fadeOut(300); 
    } 
); 
+0

感謝您的快速幫助,沒想到那是那麼容易! – user828591

2

fadeIn前只需添加stop

$("#fade").stop(true,true).fadeIn(300)