当我将鼠标悬停在水平菜单的列表元素上时,我会显示一个简单的下拉菜单。
我通过设置LI父级的相对位置和子菜单的容器的绝对位置来定位下拉子菜单。
然后我通过用jquery监听mouseenter来显示子菜单,我通过听mouseleave来隐藏它。
起初看起来一切正常,但是在向子菜单添加一些内容后,它现在有100px的高度,我开始遇到问题:
mouseenter运行正常,但是鼠标离开在到达子菜单结束之前会被激活很多,当我到达终点时,它会被触发。
为什么会这样?
答案 0 :(得分:1)
即使我没有提供代码示例,我也回答了我自己的问题,我只是想解释一下情况以及发生了什么。
看起来我的主要水平菜单后面的内容有一个默认的z-index,导致它放在我的下拉列表之上。
所以发生的事情是,当我在水平菜单后到达内容时,当我用光标向下时,即使我还没有到达我的下拉菜单的结尾,我还是以某种方式将光标从我的下拉列表中移除,因为z-index。
所以我的解决方案是测试一些z-index添加到下拉列表中,例如z-index:11,并且它有效!您应在案例中设置的z-index可能会有所不同,具体取决于您的页面上的其他内容的定位和z-index。
希望它有所帮助!