У меня есть три (или больше в будущем) выпадающего меню, которые показывают при нажатии на «спусковой крючок»Несколько выпадающего меню перек
код является функциональным, но я хочу анимацию slideUp закончить до другой анимации slideDown начинается.
Обратите внимание, что элементы 'DropDown' расположены абсолютно вверху: 100% по отношению к 'контейнера', таким образом они появляются под 'Триггеры'
HTML
<div class="container">
<div class="drop-container">
<span class="trigger">Drop 1</span>
<div class="dropdown">
<p>First Dropdown</p>
</div>
</div>
<div class="drop-container">
<span class="trigger">Drop 2</span>
<div class="dropdown">
<p>Second dropdown</p>
</div>
</div>
<div class="drop-container">
<span class="trigger">Drop 3</span>
<div class="dropdown">
<p>Third dropdown</p>
</div>
</div>
</div>
JQuery
var $container = $('.drop-container'),
$trigger = $('.trigger');
$trigger.on('click',function(){
var $this = $(this).siblings('.dropdown');
$container.find('.dropdown').slideUp();
if($this.is(':visible')) {
$this.hide('fast');
}
else {
$this.slideDown();
}
});
JQuery анимация имеет 'complete' обратного вызова .. см документации для примеров – charlietfl