我有一个<nav>
,我想通过点击一个句柄链接来打开和关闭。我还想在点击其中一个子链接时关闭<nav>
。使用slideToggle
处理链接和孩子都不起作用。处理链接工作得很好,但当您点击子链接时,<nav>
会崩溃并打开备份。slideToggle:通过点击一个孩子链接隐藏父母
什么的jsfiddle回事: http://jsfiddle.net/qHZe8/
提前感谢!
我有一个<nav>
,我想通过点击一个句柄链接来打开和关闭。我还想在点击其中一个子链接时关闭<nav>
。使用slideToggle
处理链接和孩子都不起作用。处理链接工作得很好,但当您点击子链接时,<nav>
会崩溃并打开备份。slideToggle:通过点击一个孩子链接隐藏父母
什么的jsfiddle回事: http://jsfiddle.net/qHZe8/
提前感谢!
问题是你有两个元素pull
。
一个可能的解决方案是使用不同的选择:
jQuery("a.pull").click(function() {
$("nav.mobile-navigation").slideToggle("fast");
});
你<ul>
元素也有类pull
,所以点击里面的链接之一,也是射击关闭click
事件处理程序以再次切换元素。
您需要停止从<ul>
内部链接传播的事件,以免发生这种情况。
jQuery("ul.pull li a").click(function(e) {
e.stopPropagation();
$("nav.mobile-navigation").slideUp("fast");
});
你给了相同的CSS类(.pull
)到<ul>
和手柄都。因此,单击这些项目也会注册为.pull
处理程序的点击。正确的一个:http://jsfiddle.net/X2A3C/