Заставить аккордеон Bootstrap ждать завершения работы перед расширениемJavascript

Форум по Javascript
Anonymous
Заставить аккордеон Bootstrap ждать завершения работы перед расширением

Сообщение Anonymous »

Нажимая кнопку «гармошка», я предпочитаю подождать, пока будет вычислено тело аккордеона, и сразу после этого развернуть его содержимое.
Иначе расширение происходит в несколько этапов по мере добавления новых элементов к телу аккордеона. Негладкий.

Код: Выделить всё

const ab = document.querySelector('.accordion-button');
ab.addEventListener('click', abListener);

function abListener(ev) {
// Heavy DOM work to build accordion body;
}
Я думал, что смогу сделать это, используя метод PreventDefault. но аккордеон все равно расширяется.

Код: Выделить всё

ab.addEventListener('click', abListener);
// mouseup, mousedown and so on...

function abListener(ev) {
ev.preventDefault();
// Heavy DOM work to build accordion body;
setTimeout(() => { /* Manually expand the accordion; */ }, 0);
}
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ore-expand

Вернуться в «Javascript»