首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >slideToggle:通过单击子链接隐藏父链接

slideToggle:通过单击子链接隐藏父链接
EN

Stack Overflow用户
提问于 2012-05-30 23:52:04
回答 4查看 353关注 0票数 3

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

正在发生的事情的jsFiddle:http://jsfiddle.net/qHZe8/

提前感谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-30 23:55:34

问题是你有两个带有pull类的元素。

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

代码语言:javascript
运行
复制
jQuery("a.pull").click(function() {
    $("nav.mobile-navigation").slideToggle("fast");
});

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

票数 1
EN

Stack Overflow用户

发布于 2012-05-30 23:56:05

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

您需要停止从<ul>内部的链接传播事件,这样才不会发生这种情况。

代码语言:javascript
运行
复制
jQuery("ul.pull li a").click(function(e) {
    e.stopPropagation();
    $("nav.mobile-navigation").slideUp("fast");
});
票数 3
EN

Stack Overflow用户

发布于 2012-05-30 23:56:20

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10819828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档