我有一个<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
复制相似问题