Я пытаюсь сделать две кнопки, которые могут переключаться между собой, а также обе могут быть не выбраны.У меня есть текущий код, работающий для общего желаемого поведения, но я хочу дождаться окончания свертываемой анимации, прежде чем переключаться в другое состояние.По сути, карты 'Creating Room'
и 'Joining Room'
не должны перекрываться, т. Е. Нужно подождать, пока другая будет полностью скрыта, прежде чем открыться.
Я попытался поиграться с найденными здесь событиями (https://getbootstrap.com/docs/4.0/components/collapse/#events), но мое решение не может обработать случай, когда обе кнопки становятся невыбранными.
HTML
<button class="btn btn-outline-dark btn-lg mr-3" onclick="collapse('create')">
Create Room
</button>
<button class="btn btn-outline-dark btn-lg ml-3" onclick="collapse('join')">
Join Room
</button>
<div class="collapse" id="create">
<div class="card card-body mt-3">
Creating Room
</div>
</div>
<div class="collapse" id="join">
<div class="card card-body mt-3">
Joining Room
</div>
</div>
JavaScript
function collapse(id) {
$('#create').collapse('hide');
$('#join').collapse('hide');
$('#'+id).collapse('toggle')
$('#join').on('hidden.bs.collapse', function() {
// Something here?
})
$('#create').on('hidden.bs.collapse', function() {
// Something here?
})
}
Без прослушивания для hidden.bs.collapse
свертывающаяся анимация не завершается, пока не отображается другая опция.
С слушателем я не могу найти способ, который обрабатывает обе опции, будучине выбран.
Вот jsfiddle
с полным кодом: https://jsfiddle.net/pLt89cyh/
Спасибо.