javascript - Bootstrap 4 : How to show one collapsible item and hide others?

标签 javascript bootstrap-4

我有一些可折叠菜单,我想在单击时隐藏其他菜单。请注意,我想完全隐藏它们,而不是折叠它们。它与 Accordion 行为不同。

我使用了 Accordion 代码并添加了以下功能:

$('#bottomNavBar .collapse').on('show.bs.collapse', function (e) {
    // do something…
    var me = e.target;
    $('#bottomNavBar [aria-expanded="false"]').each(function () {
        if (!$(this).is(me)) {
            $(this).hide();
        }
    });
});

问题是,单击展开的项目也被隐藏,因为它的 aria-expanded 为 false(但是它的子菜单出现)。由于我的视觉计划,我不想使用 shown.bs.collapse 事件。我尝试将每个项目与调用对象进行比较,但它仍然不起作用。

最佳答案

这个函数解决了我的问题,我只需要click事件。

$('#bottomNavBar [aria-expanded="false"]').on('click', function (e) {
    // do something…
    var me = this;
    $('#bottomNavBar [aria-expanded="false"]').each(function () {
        if (this != me) {
            $(this).hide();
        }
    });
});

关于javascript - Bootstrap 4 : How to show one collapsible item and hide others?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58131071/

相关文章:

html - 使用 css/html 悬停在链接上的背景图片

javascript - 我应该为 JavaScript 链接使用哪个 "href"值, "#"还是 "javascript:void(0)"?

javascript - 我的谷歌地图 DIV 位于其他所有内容之上 - 不明白为什么

html - 对齐按钮内的内容

html - Bootstrap 4崩溃链接aria-expanded =“true”不起作用

html - Bootstrap Navbar 和 Carousel 没有响应

css - 无法更改 bootstrap-datepicker 的颜色

javascript - jQuery Toggle -- 我做错了什么?

javascript - 单击 Ember 中的按钮添加 Handlebars 代码

javascript - ESLint 关闭分号规则