【发布时间】:2015-04-28 01:20:27
【问题描述】:
我有一个非常基本的导航,有两个主菜单项。
当您将鼠标悬停在主菜单项 1 时,我会切换 #sub-menu1 的可见性。 当您将鼠标悬停在主菜单项 2 时,我会切换 #sub-menu2 的可见性。
像这样:
$(".wrapper .main #m li").mouseenter(function() {
var that = $(this);
var menu = that.attr("class");
if(menu == "first") {
$("#s1").css("display","block");
$("#s2").css("display","none");
}
if(menu == "second") {
$("#s1").css("display","none");
$("#s2").css("display","block");
}
});
我的问题:我只想在离开主菜单或子菜单时触发mouseleave。
我的目标是悬停我的主菜单项并能够在不触发mouseleave 的情况下将鼠标悬停在子菜单上。
这是我尝试过的:
$(".wrapper").mouseleave(function() {
console.log("leave");
$("#s1").css("display","none");
$("#s2").css("display","none");
});
如您所见,mouseleave 在离开主菜单的同时触发。
HTML 是这样的:
<div class="wrapper">
<div class="main">
<ul id="m">
<li class="first">main 1</li>
<li class="second">main 2</li>
</ul>
</div>
<div class="sub">
<ul id="s1">
<li>sub 1-1</li>
<li>sub 1-2</li>
<li>sub 1-3</li>
</ul>
<ul id="s2">
<li>sub 2-1</li>
<li>sub 2-2</li>
<li>sub 2-3</li>
</ul>
</div>
<div>
【问题讨论】:
标签: jquery mouseleave mouseout