我想通过点击手柄链接打开和关闭来显示<nav>
。当我点击其中一个子链接时,我还想关闭<nav>
。在句柄链接和子项上使用slideToggle
不起作用。句柄链接工作正常,但<nav>
折叠并在您单击子链接时打开。
js是怎么回事: http://jsfiddle.net/qHZe8/
提前致谢!
答案 0 :(得分:3)
您的<ul>
元素也有类pull
,因此点击其中的一个链接也会触发click
事件处理程序以再次切换该元素。
您需要停止从<ul>
内的链接传播事件,以免发生这种情况。
jQuery("ul.pull li a").click(function(e) {
e.stopPropagation();
$("nav.mobile-navigation").slideUp("fast");
});
答案 1 :(得分:1)
问题是你有两个元素pull
。
一种可能的解决方案是使用不同的选择器:
jQuery("a.pull").click(function() {
$("nav.mobile-navigation").slideToggle("fast");
});
答案 2 :(得分:1)
问题是您在ul和链接中使用相同的类来打开它,因此每当您单击子链接时它都会执行这两个操作。
如果从ul标记中删除该类,它应该可以工作
答案 3 :(得分:0)
您已为.pull
和句柄提供了相同的CSS类(<ul>
)。因此,单击项目也会注册为.pull
处理程序的单击。正确的一个:http://jsfiddle.net/X2A3C/