Bootstrap 4: как показать один складной предмет и спрятать другие? - PullRequest
1 голос
/ 27 сентября 2019

У меня есть несколько разборных меню, и я хочу скрыть другие при нажатии.Обратите внимание, я хочу полностью скрыть их, а не свернуть их.Это отличается от поведения аккордеона.

Я использовал код аккордеона и добавил следующую функцию:

$('#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 ложно (однако егопоявляется подменю).Я не хотел использовать событие shown.bs.collapse из-за моих визуальных планов.Я пытался сравнить каждый элемент с вызывающим объектом, но он все еще не работает.

1 Ответ

0 голосов
/ 27 сентября 2019

Эта функция решила мою проблему, мне просто нужно 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();
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...