我有一个<nav>
,我想通过单击句柄链接打开和关闭来显示它。我还想在单击其中一个子链接时关闭<nav>
。在句柄链接和子链接上使用slideToggle
是不起作用的。handle链接运行良好,但当您单击子链接时,<nav>
会折叠并重新打开。
正在发生的事情的jsFiddle:http://jsfiddle.net/qHZe8/
提前感谢!
发布于 2012-05-30 23:55:34
问题是你有两个带有pull
类的元素。
一种可能的解决方案是使用不同的选择器:
jQuery("a.pull").click(function() {
$("nav.mobile-navigation").slideToggle("fast");
});
演示: http://jsfiddle.net/qHZe8/1/
发布于 2012-05-30 23:56:05
您的<ul>
元素也有类pull
,因此单击其中的一个链接也会触发一个click
事件处理程序来再次切换该元素。
您需要停止从<ul>
内部的链接传播事件,这样才不会发生这种情况。
jQuery("ul.pull li a").click(function(e) {
e.stopPropagation();
$("nav.mobile-navigation").slideUp("fast");
});
发布于 2012-05-30 23:56:20
问题是您在ul和链接中使用相同的类来打开它,所以每当您单击子链接时,它都会执行这两个操作。
如果您从ul标记中删除这个类,它应该可以工作
http://jsfiddle.net/slfede/qHZe8/2/
https://stackoverflow.com/questions/10819828
复制相似问题