2010-05-26 51 views
0

我想創建一個下拉列表,我有工作,但不完全,使用此代碼jQuery的懸停不留

$(document).ready(function(){ 
$("#zone-bar li em").hover(function() { 
var hidden = $(this).parents("li").children("ul").is(":hidden"); 

$("#zone-bar>ul>li>ul").hide()   
$("#zone-bar>ul>li>a").removeClass(); 

if (hidden) { 
$(this) 
    .parents("li").children("ul").toggle() 
    .parents("li").children("a").addClass("zoneCur"); 
} 
    }); 

});

我設法讓它工作,所以懸停下拉列表會出現這是做的,但當你從下拉列表中選擇一個項目下拉列表關閉 任何幫助解決這個問題非常感謝。

回答

4

構建下拉菜單時,必須確保懸停按鈕和子菜單之間沒有間隙。如果存在間隙,則會導致它消失,因爲您在將鼠標移到子菜單之前將鼠標移出頂部菜單項。您也可以添加一個小小的延遲,使其不會立即消失。

+0

+1表示延遲。延遲的一點聰明可以讓菜單感覺更加「自然」(用戶期望他們根據他們的桌面環境的經驗「感覺」)。 – eyelidlessness 2010-05-26 19:03:01

+0

我有檢查差距,但沒有找到任何?真的不知道我在這裏做錯了什麼。 – cameronmarklewis 2010-05-26 19:20:09

+0

你能發佈一個鏈接到你正在使用的網站嗎? – 2010-05-26 20:52:06