2013-05-06 79 views
0

我要顯示一個div當懸停另一個div的孩子顯示另一個事業部時,懸停另一個div的孩子

這裏是我的HTML代碼

<div id='container'> 
    <div> 
     <ul> 
      <li class='hover'>A</li> 
      <li>B</li> 
      <li>C</li> 
     </ul> 
    </div> 
    <div class='hover' id='display'>some text</div> 
</div> 

和我的jQuery代碼

$(".hover").hover(function() { 
    $('#display').show(); 
}, function() { 
    $('#display').hide(); 
}); 

它工作正常,但如果我添加時間的動畫用途的JavaScript代碼,如

show(200); 
hide(200); 

它看起來很有趣。所以如果有人能告訴我如何解決這個問題,我真的很感激。

+0

請解釋 '搞笑'。 – Ankur 2013-05-06 05:58:34

+0

抱歉不清楚,如果我將鼠標懸停在「A」上,然後移動到它隱藏的「文本」,然後再次顯示 – 2013-05-06 06:14:44

回答

2

這是因爲它在上次結束前觸發的新動畫。

最簡單的修復方法是添加stop();

$(".hover").hover(function() { 
    $('#display').stop(); 
    $('#display').show(200); 
}, function() { 
     $('#display').stop(); 
    $('#display').hide(100); 
}); 

http://jsfiddle.net/igos/Ck9hv/

+1

您也可以鏈接它:'$('#display')。stop()。show(200); ' – Eli 2013-05-06 06:05:16

+0

雖然簡單,但工作像一個魅力,非常感謝你! – 2013-05-06 06:06:54