Есть код, но не понимаю почему анимация №2 проходит раньше, чем №1
$('.input_col2 input').focus(function(){
this_el = $(this);
$(".sys_mess_block[style = 'display:block;']").stop()
.animate({'left' : '50px', 'opacity' : '0', 'display' : 'none'}, 500, function(){
/* №2 */
index = $('.input_col2 input').index(this_el);
$(".sys_mess_block").eq(index).animate({'left' : '0px', 'opacity' : '1', 'display' : 'block'}, 500);
});
});
Спустя 17 часов, 30 минут, 52 секунды (10.05.2012 - 17:08) Stasonix написал(а):
могу препдоложить что селекторы слишком "глубокие" и одно парсится раньше другого, по вашему коду трудновато смоделировать html, к сожалению.
Спустя 5 минут, 19 секунд (10.05.2012 - 17:13) inpost написал(а):
nugle
Ты запусти 1 анимацию, потом ожидай его окончания, потом запускай второй.
Ты запусти 1 анимацию, потом ожидай его окончания, потом запускай второй.
Спустя 2 часа, 9 минут, 18 секунд (10.05.2012 - 19:22) nugle написал(а):
inpost
да оно так и происходить, у меня же тут функция обратного вызова
да оно так и происходить, у меня же тут функция обратного вызова
Спустя 1 минута, 31 секунда (10.05.2012 - 19:24) inpost написал(а):
nugle
Вообщем, по поводу callback я подсказать не могу. Потому что сам не тестировал его.
Поставь длинную анимацию, воткни там в конце alert, посмотри, когда именно он вызывается, и точно ли калбек срабатывает уже в самом конце.
Вообщем, по поводу callback я подсказать не могу. Потому что сам не тестировал его.
Поставь длинную анимацию, воткни там в конце alert, посмотри, когда именно он вызывается, и точно ли калбек срабатывает уже в самом конце.
Спустя 6 минут, 20 секунд (10.05.2012 - 19:30) nugle написал(а):
В поисках проблемки, еще раз пролистал справочник по анимациям и нашел решение.
.clearQueue() - Очищает очередь функций у выбранных элементов старницы.
Т.е. в итоге получилось так
Всем спасибо :)
.clearQueue() - Очищает очередь функций у выбранных элементов старницы.
Т.е. в итоге получилось так
$('.input_col2 input').focus(function(){
this_el = $(this);
$(".sys_mess_block[style = 'display:block;']").stop()
.animate({'left' : '50px', 'opacity' : '0', 'display' : 'none'}, 500, function(){
/* №2 */
index = $('.input_col2 input').index(this_el);
$(".sys_mess_block").eq(index)
.clearQueue().animate({'left' : '0px', 'opacity' : '1', 'display' : 'block'}, 500);
});
});
Всем спасибо :)