我有一個導航菜單,其子菜單在滑動時滑落。菜單的結構如下所示:滑動菜單問題
<ul class='nav'>
<li><a href='#'>About</a></li>
<ul class='submenu'>
<li><a href='#'>Stuff</a></li>
</ul>
</ul>
等。
我所做的創建slideouts是以下幾點:
$('ul.nav li').hover(function(){
$el = $(this);
$el.next('.submenu').slideToggle(); # they all have submenus, so this works for now
},function(){
$el = $(this);
$el.next('.submenu').slideToggle();
});
但是,使用這種方法,將摺疊子菜單,當你的鼠標關閉主要的李。我通過刪除mouseout上的摺疊來解決這個問題,然後爲子菜單創建了一個mouseout事件(即:當鼠標離開子菜單時,它會摺疊)。但是,在這種設置中,如果您碰巧將鼠標移動到了主LI上,那麼在沒有鼠標進入菜單的情況下,子菜單保持打開(顯然)。
我應該如何解決這個問題,這種方式能夠正常工作,並且讓我能夠優雅地降級?
注:我也試圖包含利內的UL(< LI> < A HREF>東西</A> < UL類= '子菜單'> < LI> </LI> </UL>),但我需要子菜單隱藏在主LI圖像後面,並且在該設置中使用z-index是不可能的)。