【问题标题】:JQuery drop down menu mouse hover. Menu closesJQuery 下拉菜单鼠标悬停。菜单关闭
【发布时间】:2013-09-28 00:46:48
【问题描述】:

http://va.in-design.com 网站上,当我将鼠标悬停在菜单上时,一切正常。但是,当我尝试访问子菜单链接和子菜单时,菜单会关闭。我认为这可能与透明背景有关。如果有什么办法不让它关闭。

谢谢, 驯兽师Z

【问题讨论】:

  • 你能在 jsFiddle 上添加你的 js、css 和 html 吗?
  • 我尝试将这些部件添加到 JSFiddle 但无法使其正常工作。不知道我必须做什么。我会再试一次,并在我这样做的时候告诉你。谢谢,
  • 我添加了它。请查看:jsfiddle.net/tziady/XFqAd 它在 JSFiddle 上完美运行。我的假设是其他一些层正在弄乱它。我有一些也不适用于文本标签的 mouseenter 事件。想知道它是html还是body cs代码。试图删除它,看看会发生什么。

标签: jquery css drop-down-menu


【解决方案1】:

看起来子菜单不是菜单的子菜单。因此,当您将鼠标悬停在子菜单上时,您不再将鼠标悬停在菜单上,它会关闭。您可以重构您的代码,使子菜单成为顶级菜单项的子菜单。

【讨论】:

  • 好的,我对 CSS 非常陌生。我将通过代码查看您的意思?你能给我一个关于如何使它成为顶部菜单的子项的指针吗?有没有简单的方法或者我必须重组分配?感谢您的指点。会回复我能想到的。
  • 你能给我一些关于如何实际执行此操作的线索吗?这是在 CSS 还是 HTML 中。对不起;但我不确定子继承是如何获得的。
  • 对不起,仔细看,我认为还有其他事情发生。不知道是什么,现在 - 我会试着看看几分钟。
  • 我认为它在你的 CSS 中,因为如果所有的 CSS 都被删除,它似乎可以工作。尝试将其全部删除,然后慢慢将其添加回来,看看失败的地方。
【解决方案2】:

看起来您在 LI 上绑定了鼠标事件,它应该包括所有子级,但没有。您是否尝试过将结构更改为:

<DIV align="center">
<ul id="sdt_menu" class="sdt_menu">
<DIV class="someclass">
<LI>

...然后将鼠标事件绑定到 ("#someclass") 而不是 "#sdt_menu > li"?

当您将鼠标事件绑定到 LI 时,它显然不会也附加到子 DIV,尽管确实附加到子 A 元素。


另一个可能的答案是to use .hover instead of .mouseenter and .mouseleave

.hover() jQuery 函数有两个参数,要在 hover (mouseenter) 处执行的函数和要在 hover out (mouseleave) 处执行的函数。您应该使用它而不是 mouseleave

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 2022-08-22
    • 2011-02-06
    • 2013-07-16
    相关资源
    最近更新 更多