就是一个活生生的例子
我的问题是什么:
- 将鼠标从子菜单移到减号上时,子菜单将再次淡入(这种情况不应该发生)
- 当通过向上或向左移动加号将菜单留在子菜单之外时,子菜单不会淡出
这些问题可以通过交换加号的z-index
和子菜单来解决。但是减号并没有按照我想要的样式显示(因为它位于半透明子菜单后面)。
相关JS代码为:
$(document).ready(function() {
if ($(".nav").length) {
$(".nav ul ul").css({ opacity: 0.9 }).mouseleave(function(e) {
e.stopPropagation();
$(this).fadeOut().parent().prev().children("div").html("+").css({ lineHeight: "30px", paddingBottom: 0 });
});
$(".nav > ul").find("li:first").each(function() {
$(this).append($("<div>").html("+").mouseenter(function(e) {
e.stopPropagation();
$(this).html("–").css({ lineHeight: "26px", paddingBottom: "4px" }).parent().next().children("ul").fadeIn();
}));
});
}
});
下拉菜单的ul
在语义上应该是下拉按钮的一部分,这样它就是下拉"按钮"的子项,我相信这将解决您的问题。
编辑:即您的下拉<ul>
应该是+/-按钮的子项,而不是兄弟项。