2011-03-12 125 views
0

我在使用JQuery的網站下拉菜單中遇到了一些麻煩。JQuery懸停和下拉菜單

基本上,我想要實現的是一個帶JQuery懸停的簡單水平下拉菜單(在Drupal的DHTML菜單模塊中)。但是,有一些我無法修復的煩惱。

所以主菜單和他們的子女<li> s都是鏈接。當我點擊其中一個子菜單時,一切正常(我被引導到目的地,菜單重置爲正常的隱藏狀態)。但是當我點擊父菜單後,到達目的地後,即使下拉菜單重置,鼠標仍然懸停在鏈接上方。這會導致在我移動鼠標時再次短暫激活下拉菜單。

我想要的是隻有在鼠標進入元素時纔會激活下拉菜單,而不是在退出時纔會激活。我試過將.hover()分成.mouseenter().mouseleave(),但是這會導致下拉菜單根本不起作用。幫幫我!

我的代碼如下:

$(li).hover(function(e) { 
    Drupal.dhtmlMenu.expandMenu($(li)); 
}, 
function(e) { 
    Drupal.dhtmlMenu.collapseMenu($(li)); 
}); 

$(li).ready(function(e) { 
    Drupal.dhtmlMenu.collapseMenu($(li)); 
}); 

回答

1

使用Nice Menus模塊。它會讓你從這個頭痛中解脫出來。自從我3年前開始使用Drupal以來,我一直在使用它。

1

完全沒有必要使用JavaScript一個簡單的下拉菜單。請參閱http://webdesignerwall.com/tutorials/css3-dropdown-menu(使用CSS3,但基本CSS可在所有瀏覽器中使用)。純粹使用CSS/HTML

+0

在此之前,我確實使用過CSS(如果客戶端禁用JavaScript,代碼仍保持如此下拉狀態仍然有效)。這只是我想補充的一個美容補充。 – bow 2011-03-12 20:10:59