我的菜单适用于悬停事件,当我将鼠标悬停在子菜单上时,它会打开自己的子菜单,但是当我将鼠标悬停在其他子菜单上时,上一个子菜单的子菜单应自行关闭。请检查我的工作jsfiddle:
答案 0 :(得分: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");
}
});
请记住,在这种方法中,如果菜单slidingUp(例如,Design)比菜单slidingDown(例如,开发)长得多,那么你将遇到'开发'可能会滑动的情况,因为鼠标会将其覆盖区域由于'Design'的滑动。只需在“设计”菜单中添加另一个项目即可对其进行测试。
对于当前的项目列表,上述实现应该可以正常工作。