В моей функции jquery у меня есть несколько элементов в списке ul, некоторые из них показаны, а некоторые из них нет. После нажатия элемента li, я хочу проверить, если есть что-либо, спрятать его (сдвинув его влево) и выполнить другое действие (но только если первая функция была выполнена!). Итак, как я могу проверить, было ли выполнено это первое действие (элемент был анимирован jquery)? Код HTML выглядит следующим образом:
<ul>
<li>
<div class="content_nav content_nav1">
</div>
<div class="content_el content_el1">
</div>
</li>
<li>
<div class="content_nav content_nav2">
</div>
<div class="content_el content_el2">
</div>
</li>
</ul>
и jQuery:
for ( var i=1; i<3; i++)
{
if (i != item_number)
{
var another_content = ".content_el" + i;
var another_nav = ".content_nav" + i;
$(another_content).animate({'width': 'hide'}, animate_duration);
//here i want to check, if action above was performed
$(another_nav).animate({'width':'show'}, animate_duration);
}
}
Я был бы признателен за любую помощь! Заранее спасибо.
EDIT: Итак, правильный вопрос: какой параметр css
$(another_content).animate({'width': 'hide'}, animate_duration);
изменяет.
функция анимации поставляется с "полным" обработчиком. https://api.jquery.com/animate/
Выполните свою функцию следующим образом:
$(another_content).animate({'width': 'hide'} , animate_duration, function(){
$(another_nav).animate({'width':'show'}, animate_duration);
})
EDIT: функция анимации всегда выполняется, поэтому вам нужно проверить, является ли элемент видимым, чтобы начать ширину:
if($(another_content).is(":visible")){
$(another_content).animate({'width': 'hide'} , animate_duration, function(){
$(another_nav).animate({'width':'show'}, animate_duration);
})
}
Если я правильно понимаю ваш вопрос,
Вы можете передать функцию, чтобы показать another_nav
только Ofter another_content
законченных анимировать
$(another_content).animate({width: 'hide'}, animate_duration, function () {
$(another_nav).animate({width:'show'}, animate_duration);
)};
$(another_nav).animate({'width':'show'}, animate_duration);
будет выполняться для каждого элемента, даже если он уже скрыт, потому что функция$(another_content).animate({'width': 'hide'} , animate_duration, function(){
ничего не сделает и продолжит. Я хочу знать, какие Параметр CSS должен проверить на наличие изменений (извините, английский не мой родной)