我有一个下拉导航,嵌套列表的基本标记。
用户将点击顶部导航项,这将打开子导航,但我的子导航链接不起作用。
它在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'但它没有用。 建议?
答案 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;
});