2011-11-15 144 views
5

我有一個div,它將淡入/淡出懸停在頁面上的另一個元素(並懸停在外)。麻煩的是,沒有什麼能夠阻止用戶真正快速地懸停並導致動畫排隊。Jquery,防止排隊動畫

這裏是我的代碼:

<div class="hovertest">test</div> 

<div class="test">test2</div> 

的Jquery:

$("div.hovertest").hover(
     function() { 
     $(".test").fadeOut(); 
     }, 
     function() { 
     $(".test").fadeIn(); 
}); 

CSS:

div { 
    width:200px; 
    height:100px; 
    background-color:#B22; 
} 

這裏是一個鏈接到jsfidde:http://jsfiddle.net/btEXH/

回答

5

你想用個e stop函數並將clearQueue和jumpToEnd傳遞爲true。

$("div.hovertest").hover(
    function() { 
    $(".test").stop(true, true).fadeOut(); 
    }, 
    function() { 
    $(".test").stop(true, true).fadeIn(); 
}); 

http://jsfiddle.net/infernalbadger/btEXH/1/

+0

是否可以淡入/輸出從動畫停在那裏,而不是跳躍到終點,然後運行動畫。 - 否則就完成了這項工作。謝謝! – Tom

+0

@Tom通過將第二個參數更改爲false應該是可能的。雖然這似乎造成不透明問題 –

+0

是的,我試過了,並得到同樣的問題。在這種情況下,它不應該導致問題,但如果動畫較慢,它可能看起來有點奇怪。 – Tom