单击父li时的jQuery slideToggle ul
Posted
技术标签:
【中文标题】单击父li时的jQuery slideToggle ul【英文标题】:jQuery slideToggle ul when clicking on parent li 【发布时间】:2013-04-29 18:45:46 【问题描述】:1.) 如果我点击图片,所有“主题”(ul) 都应该关闭并更改它们的类别。我可以设法改变班级,但他们不会关闭。
我是这么想的:
$("#nav ul li.open").slideToggle('fast');
可以在这个函数中工作:
$("#home").click(function (e)
// Prevent the default action of the event
e.preventDefault();
var linkHref = this.id + '.html';
$("#content").load(linkHref);
$("#nav a.active").toggleClass('inactive active');
$("#nav ul li.open").slideToggle('fast'); //slideToggle here
$("#nav li.open").toggleClass('closed open');
);
但它不起作用。
2.) 如果我打开主题 1 和子主题 2,然后单击主题 2,主题 1 将被关闭。但是当我再次点击主题 1 时,子主题 2 仍然打开。所以嵌套的 ul 不会被关闭。
3.) 我想在链接处于活动状态时为主题和副主题文本着色(具有 .active 类)。
FIDDLE
【问题讨论】:
【参考方案1】:您缺少的也是隐藏孩子,因此您必须将$("#nav ul li.open").slideToggle('fast');
替换为$("#nav li ul").css('display',"none");
。在你的小提琴中测试过,它可以工作
【讨论】:
以上是关于单击父li时的jQuery slideToggle ul的主要内容,如果未能解决你的问题,请参考以下文章
多次单击 JQuery slideToggle() - 防止动画