Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

jquery блокировка на время анимации

--- --- Профи (664), закрыт 11 лет назад
Всем доброго времени суток!
столкнулся с такой проблемой:
по клику на кнопке выполняется несколько последовательных анимаций, если щелкнуть сразу несколько раз то анимация начинает глючить, точнее значения высот объектов получаются не правильные,
можно ли как то заблокировать скрипт до завершения анимации?
пробовал сделать так:
var animated = false,
$('.button').click(function(){
if (animated){return false;}
animated = true;
/*последовательные анимации*/
animated = false;
});

но это не помогло, похоже что функция заканчивает работу раньше анимации, (поправьте если я не прав)
подскажите как решить данную проблему?
заранее спасибо
Лучший ответ
artemfs Мастер (2143) 11 лет назад
animated = false; надо ставить в конце последней анимации, точнее на oncomplete.
после длительности анимации ставим запятую и после - function() {animated = false;}
--- ---Профи (664) 11 лет назад
Спасибо помогло!
Остальные ответы
World Cup Знаток (282) 11 лет назад
исп. $(element).stop().animate();
--- ---Профи (664) 11 лет назад
.stop() вызывает остановку анимации, а нужно чтобы она сама закончилась
World Cup Знаток (282) ну тогда уж по фильтру как-нть, что-то в жанре if not animate do animate, только это уже больше к селекторам вопрос, если что выложите на jsfiddle net кусок кода.
Похожие вопросы