【问题标题】:sub nav not directing to page (jquery)子导航不重定向到页面(jquery)
【发布时间】:2009-03-25 20:55:53
【问题描述】:

我有一个下拉导航、嵌套列表的基本标记。

用户将单击顶部导航项,这将打开子导航,但我的子导航链接不起作用。

它在 CMS 中,所以我必须有占位符页面的链接。

标记:

<ul class="navtop">
<li><a href="">Who</a>
  <ul>
     <li><a href="">Sub Item 1</a></li>
     <li><a href="">Sub Item 2</a></li>
     <li><a href="">Long Sub Item 3</a></li>
     <li><a href="">Sub Item 4</a></li>
  </ul>
</li>
<li><a href="">What</a>
  <ul>
     <li><a href="">Sub Item 1</a></li>
     <li><a href="">Sub Item 2</a></li>
     <li><a href="">Long Sub Item 3</a></li>
     <li><a href="">Sub Item 4</a></li>
  </ul>
</li>
</ul>

Javascript:

$(".navtop li").click(function(){
    $(this).toggleClass("show");        
    $(this).siblings(".show").toggleClass("show");
    return false;
});

css:

#headernav .navtop li.show ul
{
display: block;
}

我尝试为 $(".navtop li ul li a") 添加“return true”,但没有成功。 有什么建议吗?

【问题讨论】:

    标签: javascript jquery navigation hyperlink


    【解决方案1】:

    为什么对 LI 点击返回 false?我相信这就是问题所在。

    如果你把它拿出来,一切都会好起来的。

    如果这不起作用,请记住您将点击事件附加到每个 LI 而不仅仅是顶级 LI。试试这个:

    $(".navtop > li").click(function(){
            $(this).toggleClass("show");            
            $(this).siblings(".show").toggleClass("show");
    });
    

    【讨论】:

      【解决方案2】:

      事实证明这很有效:

      $(".navtop > li > a").click(function(){
          $(this).parent('li').toggleClass("show");       
          $(this).parent('li').siblings(".show").toggleClass("show");
          return false;
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-27
        • 1970-01-01
        • 2013-04-17
        • 2017-05-27
        • 2018-11-17
        • 1970-01-01
        • 2018-07-05
        • 1970-01-01
        相关资源
        最近更新 更多