subnav没有重定向到页面(jquery)

时间:2009-03-25 20:55:54

标签: javascript jquery navigation hyperlink

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

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

它在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'但它没有用。 建议?

2 个答案:

答案 0 :(得分:0)

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

如果你把它拿出来,一切都应该可以正常工作。

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

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

答案 1 :(得分:0)

原来这有用:

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