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