jQuery SlideToggle ul 单击父 li 时

标签 jquery css slidetoggle

1.) 如果我单击图像,所有“主题”(ul) 都应关闭并更改其类别。我可以设法更改类(class),但他们不会关闭。

我是这么想的:

$("#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

最佳答案

您缺少的是隐藏子项,因此您必须将 $("#nav ul li.open").slideToggle('fast'); 替换为 $("#nav li ul").css('display',"none");.在你的 fiddle 中测试并且它有效

关于jQuery SlideToggle ul 单击父 li 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16285958/

相关文章:

jquery - 在页面上加载某个 div 后,如何删除Class?

css - margin 崩溃

jquery 点击处理程序

python - web2py 中的 ajax 响应

html - 有没有办法在 Bootstrap 4 中以不同的列大小有条件地将图像居中?

javascript - JS - 通过按钮将 div 的可见性设置为隐藏

javascript - jQuery SlideToggle 正在添加空白

jQuery平滑滑动DIV高度

jquery - 带有 jQ​​uery slideToggle 的 CSS 伪延迟

javascript - 使用 key 0/1 而不是 key 名称访问 JSON