2011-12-04 128 views
0

對不起,標題沒有更具體。我用我編碼的jquery菜單有一些小問題。它可以在wlmtest.info上看到Jquery菜單怪癖

它的主菜單。我遇到的麻煩如下。

如果將鼠標懸停在頂部的菜單按鈕上,菜單將下降。現在向上移動你的鼠標,不要懸停在實際的下拉菜單上。即使鼠標已經離開菜單,菜單仍將繼續顯示。

擺脫下拉菜單的唯一方法是將鼠標懸停在菜單下拉菜單上,然後將鼠標移開。

我的代碼如下

jQuery("ul.lmenutabs li").mouseenter(function() 
{ 
    jQuery("ul.lmenutabs li").removeClass("active"); //Remove any "active" class 
    jQuery(this).addClass("active"); //Add "active" class to selected tab 
    jQuery(".lmenutab_content").hide(); //Hide all tab content 

    var activeTab = jQuery(this).find("a").attr("href"); //Find the href attribute  value to identify the active tab + content 
    jQuery(activeTab).fadeIn(); //Fade in the active ID content 
    jQuery(".lmenutab_container").fadeIn() 
    return false; 
}); 

jQuery(".lmenutab_container").mouseleave(function() { 
    jQuery(".lmenutab_content").hide(); //Hide all content 
    jQuery(".lmenutab_container").hide(); //Hide all content 
    jQuery("ul.lmenutabs li").removeClass("active"); 
    return false; 
}); 

正如你可以看到我有一個的mouseenter獲得下拉到顯示器。然後是一個mouseleave,這樣當你將鼠標懸停在下拉菜單上並離開時,下拉div就會隱藏起來。

如何獲取它,以便在頂部還保留菜單按鈕時隱藏下拉菜單?當您將按鈕懸停在下拉菜單上時,沒有下拉菜單消失。

對不起,如果這聽起來令人困惑,我會嘗試再次解釋,如果你需要我。

任何幫助,非常感謝。

回答

0

您正在等待菜單本身的mouseleave()事件,但是如果鼠標從不進入菜單,則從不觸發鼠標離開事件。

添加頭部上的MouseEnter事件隱藏菜單和網頁上看到的onClick()動作,以確保用戶可以隨時獲得通過點擊它外面擺脫你的菜單。

+0

謝謝sylverdrag。我意識到這一點,我不能完全理解我將如何解決問題。 如果我在按鈕上放置了一個mouseleave,發生的所有事情都是菜單下降,但只要您將鼠標懸停在菜單中的某個項目上,下拉菜單消失!這當然是可以預料的,但我需要一種方式讓按鈕和下拉div以某種方式作爲一個組。 –

+0

謝謝!我決定,這不是onclick事件,我把菜單的隱形2個div的兩側,並且對那些隱藏的mouseenter。我認爲一切都很好現在 –

+0

很酷,很高興能得到協助 – Sylverdrag