我有下面的代码片段,它显示我的下拉菜单确定但是我似乎无法让下拉停止那里直到鼠标离开ul.nav li a
所选的鼠标离开打开下拉框,有什么建议吗?
$("ul.nav li a").on({
mouseenter: function () {
$(this).parent().find('.dropdown').show();
},
mouseleave: function () {
$(this).parent().find('.dropdown').hide();
}
});
这是我正在使用的菜单代码。
<ul class="nav">
<li class="first"><a href="/">HOME</a></li>
<li>
<a href="#">CATEGORIES</a>
<div class="dropdown" style="display: none">test</div>
</li>
</ul>
答案 0 :(得分:1)
你真的不需要为此使用jQuery,你可以使用纯CSS:
ul.nav li div.dropdown {
display: none;
}
ul.nav li:hover div.dropdown {
display: block;
}
只需确保从标记中的style
中删除div
属性。
我们不是检测:hover
元素上的a
,而是在包含li
元素上检测到它。当用户将鼠标悬停在li
元素上时,其中的div.dropdown
元素将设置为display: block
。
答案 1 :(得分:1)
您可以将hover
事件与进/出处理程序和toggle
一起使用,并定位LI
而不是anchor
:
$("ul.nav li").hover(function(){
$(this).find('.dropdown').toggle();
});
或者使用CSS ...