slide切换:通过单击子链接隐藏父项



我有一个<nav>,我想通过单击句柄链接来打开和关闭来显示。我还想在单击其中一个子链接时关闭<nav>。在句柄链接和子项上使用slideToggle不起作用。句柄链接工作正常,但当您单击子链接时,<nav>会折叠并重新打开。

js小提琴是怎么回事:http://jsfiddle.net/qHZe8/

提前感谢!

您的<ul>元素也有类pull,因此单击其中的链接之一也会触发click事件处理程序以再次切换该元素。

您需要停止从<ul>内的链接传播的事件,以免发生这种情况。

jQuery("ul.pull li a").click(function(e) {
    e.stopPropagation();
    $("nav.mobile-navigation").slideUp("fast");
});

问题是你有两个元素与类 pull .

一种可能的解决方案是使用不同的选择器:

jQuery("a.pull").click(function() {
    $("nav.mobile-navigation").slideToggle("fast");
});

演示:http://jsfiddle.net/qHZe8/1/

问题是您在ul和链接中使用相同的类来打开它,因此每当您单击子链接时,它都会执行这两个操作。

如果从 ul 标记中删除该类,它应该可以工作

http://jsfiddle.net/slfede/qHZe8/2/

你已经为<ul>和句柄提供了相同的CSS类(.pull)。因此,单击项目也会注册为.pull处理程序的单击。正确的是:http://jsfiddle.net/X2A3C/

最新更新