2011-05-19 38 views
1

我正在使用jquery在LI上懸停/顯示DIV。當我這樣做的時候div出現了,但是直到我把我的鼠標從LI上拿下來纔沒有停下來。JQuery不斷向下和向下連續跌落

$(document).ready(function() { 
    $('li.menu_head').mouseover(function() { 
     $('div.newsadviceDrop').slideToggle('medium'); 
    }); 
}); 
+0

你可以在[jsfiddle](http://www.jsfiddle.net)中顯示這個嗎? – Neal 2011-05-19 20:42:22

+0

打開時可能會出現鼠標移出現象 – mplungjan 2011-05-19 20:43:45

+0

您是否嘗試'mouseenter'而不是'mouseover'? 'mouseover'有時會造成麻煩。 – jwueller 2011-05-19 20:44:09

回答

2

嘗試:

$(document).ready(function() { 
    $('li.menu_head').hover(function() { 
     $('div.newsadviceDrop').slideToggle('medium'); 
    }); 
}); 

編輯:保持打開狀態,直到你的鼠標做一遍這個

$(document).ready(function() { 
    $('li.menu_head').mouseenter(function() { 
     $('div.newsadviceDrop').slideToggle('medium'); 
    }); 
}); 
+0

這會停止上下晃動,但是當我的鼠標停在李的上方時,元素會再次消失。 – Michael 2011-05-19 20:56:16

+0

如果你想擁有它,當你鼠標懸停時它會打開,當你再次鼠標滑過時關閉,使用'.mouseenter'我編輯我的例子來展示這個。 – silent1mezzo 2011-05-19 20:58:43

+1

這是否解決您的問題? – silent1mezzo 2011-05-24 11:43:02

0

嘗試改用的.mouseover

0
.mouseenter

有一個類似「mouseover」的問題。

試試 「的mouseenter」,而不是...

或者......

只是使用jQuery的懸停()

編輯:

silent1mezzo提交了最佳/正確答案。

0

當鼠標移過li.menu_head時,您將重複呼叫.slideToggle,這就解釋了您看到連續行爲的原因。你也許可以用mouseentermouseexit的行爲替換它。