为什么我的css / js下拉菜单会在到达结尾之前隐藏?

时间:2014-10-26 18:56:59

标签: javascript jquery css drop-down-menu

当我将鼠标悬停在水平菜单的列表元素上时,我会显示一个简单的下拉菜单。

我通过设置LI父级的相对位置和子菜单的容器的绝对位置来定位下拉子菜单。

然后我通过用jquery监听mouseenter来显示子菜单,我通过听mouseleave来隐藏它。

起初看起来一切正常,但是在向子菜单添加一些内容后,它现在有100px的高度,我开始遇到问题:

mouseenter运行正常,但是鼠标离开在到达子菜单结束之前会被激活很多,当我到达终点时,它会被触发。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

即使我没有提供代码示例,我也回答了我自己的问题,我只是想解释一下情况以及发生了什么。

看起来我的主要水平菜单后面的内容有一个默认的z-index,导致它放在我的下拉列表之上。

所以发生的事情是,当我在水平菜单后到达内容时,当我用光标向下时,即使我还没有到达我的下拉菜单的结尾,我还是以某种方式将光标从我的下拉列表中移除,因为z-index。

所以我的解决方案是测试一些z-index添加到下拉列表中,例如z-index:11,并且它有效!您应在案例中设置的z-index可能会有所不同,具体取决于您的页面上的其他内容的定位和z-index。

希望它有所帮助!