我的菜单适用于悬停事件,当我将鼠标悬停在子菜单上时,它会打开自己的子菜单,但是当我将鼠标悬停在其他子菜单上时,前一个子菜单的子菜单应该自行关闭。请检查我的工作 jsfiddle :
问问题
283 次
1 回答
0
你可以尝试这样的事情:
$(".topmenu .sub-menu .parent a").mouseover(function() {
if($(this).parent().attr('id') != $("li .open").attr('id')
&& $(this).parent().has("ul").length > 0) {
if($("li .open").length > 0) {
$("li .open").children("ul").slideToggle(1000);
$("li .open").toggleClass("open");
}
$(this).parent().children("ul").slideToggle(200);
$(this).parent().toggleClass("open");
}
});
请记住,在这种方法中,如果菜单滑动(例如,设计)比菜单滑动(例如,开发)长得多,那么您将遇到“开发”可能会滑动的情况,因为鼠标会离开它的覆盖区域,因为“设计”的滑动。只需在“设计”菜单中添加另一个项目来测试它。
对于当前的项目列表,上述实现应该可以正常工作。
于 2012-10-11T07:59:56.870 回答