单击父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() - 防止动画

slideToggle()---单击隐藏/浮现--jQuery--click() 方法

slideToggle jQuery 在加载时关闭

jQuery Slidetoggle + 旋转

Jquery垂直多级菜单父li捕获内部ul的鼠标点击?

jquery幻灯片-slideToggle