Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的css/js下拉菜单在结束前隐藏了?_Javascript_Jquery_Css_Drop Down Menu - Fatal编程技术网

Javascript 为什么我的css/js下拉菜单在结束前隐藏了?

Javascript 为什么我的css/js下拉菜单在结束前隐藏了?,javascript,jquery,css,drop-down-menu,Javascript,Jquery,Css,Drop Down Menu,我有一个简单的下拉子菜单,当您将鼠标悬停在水平菜单的列表元素上时,我会显示它 我通过将相对位置设置为LI parent,将绝对位置设置为子菜单的容器来定位下拉菜单 然后,我通过使用jquery收听mouseenter来显示子菜单,并通过收听mouseleave来隐藏它 起初看起来一切正常,但在子菜单中添加了一些内容,使其高度达到100px后,我开始出现问题: mouseenter运行正常,但是mouseleave在到达子菜单末尾之前被触发了很多次,当我到达末尾的一半时它被触发 为什么会发生这种情

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

我通过将相对位置设置为LI parent,将绝对位置设置为子菜单的容器来定位下拉菜单

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

起初看起来一切正常,但在子菜单中添加了一些内容,使其高度达到100px后,我开始出现问题:

mouseenter运行正常,但是mouseleave在到达子菜单末尾之前被触发了很多次,当我到达末尾的一半时它被触发


为什么会发生这种情况?

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

看起来像是在我的主水平菜单之后的内容,有一个默认的z索引,导致它被放置在我的下拉列表的顶部

所以发生的事情是,当我在水平菜单后到达内容时,当我用光标向下移动时,即使我还没有到达下拉列表的末尾,由于z索引,我的光标不知何故离开了下拉列表

因此,我的解决方案是在下拉列表中添加一些z-index进行测试,例如z-index:11,它成功了!您应该在案例中设置的z-index可能会有所不同,这取决于页面上的位置和z-index的其他内容

希望它能帮助别人