【问题标题】:Following a link in a Hover Menu跟随悬停菜单中的链接
【发布时间】:2023-04-11 04:31:01
【问题描述】:

我有一个水平菜单,第一个菜单项上有一个下拉 div。

http://jsfiddle.net/2dPXY/

我希望第一个链接“Find a Doctor”仍然可以点击,因此有人可以从下拉列表中进行选择,或者直接点击链接。

现在它无法点击,我不知道为什么。我尝试将以下内容添加到我的 jquery 文件中,但没有成功:

(这也在上面的jfiddle中)

      $("#menu li a").click(
        function () {
          console.log($(this).html());
          window.location.href = $(this).attr('href');
        }
      );

知道为什么我不能点击带有下拉菜单的链接以及如何修复它吗?

【问题讨论】:

  • 链接带有#锚点:<a href="#">Acupuncture</a>
  • 每个 id 在文档中都应该是唯一的,你有很多违规行为。您可能应该改用类。
  • @ShankarCabus 这实际上不是这里的问题。我自己也看到了,但是点击主链接还是不行。
  • # 锚链接工作正常,“查找医生”链接应该链接到医生.php,但它没有。另外,我知道 ID 与 CLASS 问题,这些问题将在此工作后得到修复。

标签: jquery css drop-down-menu


【解决方案1】:

问题是您的 .submenu div 位于选项卡的顶部,因此它拦截了点击。 (我发现它通过设置一个 10 像素的红色边框定位在选项卡上)。解决此问题所需要做的就是使用 30px 的 top 而不是 #catmenu 中的 margin-top

查看我更新的 jsfiddle:http://jsfiddle.net/q9A9T/

【讨论】:

  • 非常感谢!就是这样。
【解决方案2】:

.submenu 在链接上。

提示: 1) ID 必须是唯一的,以免引起冲突。

2) 这是不必要的:

  $("#menu li").hover(
    function () {
      $("a#menulink", this).css('color','#39c')
      .next('.submenu').css('display','block');
    }
  );

仅使用 CSS:

#menuli:hover #menulink{
    color: #39c;
}

#menuli:hover .submenu{
    display: block;
}

【讨论】:

【解决方案3】:

您可以在 css 中添加到ul#menu a#menulink-ID 的z-index:1;,它会起作用! 见这里:http://jsfiddle.net/2dPXY/4/

【讨论】:

  • 这是一个有趣的想法,但我使用了上面的答案。谢谢!
猜你喜欢
  • 2013-03-13
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
  • 2019-06-16
  • 2018-05-12
  • 2014-12-14
  • 1970-01-01
  • 2012-09-09
相关资源
最近更新 更多