jQuery animation () - завершить стрельбу слишком рано - PullRequest
3 голосов
/ 29 апреля 2011

Я написал небольшой анимационный скрипт, который исчезает с набора полос слева направо.После того, как все анимации завершены, функции обратного вызова должны запускаться.

Сценарий здесь:

http://jsfiddle.net/9zkbu/

Работает нормально, но я хочу сделать то же самое дляанимация справа налево:

http://jsfiddle.net/FTrhX/

Как вы можете видеть, функция обратного вызова запускается до окончания анимации :( Единственное, что я изменил, это delay(). Что яздесь что-то не так? Почему «Complete» работает до завершения всех анимаций?

Ответы [ 2 ]

3 голосов
/ 29 апреля 2011

Вы почти на месте, вы изменили направление, но забыли об обратном вызове, чтобы также учесть изменение.Выполнение этого работает для меня:

complete: (i == 0) ? function(){alert('done');} : null

Поскольку вы рассчитываете другое направление, если вы попытаетесь проверить завершение на столбцах - 1, вы получите его слишком рано, вам нужно получить его в 0 здесь.попробуйте это: http://jsfiddle.net/FTrhX/8/

2 голосов
/ 27 сентября 2011

Я посмотрел оба твоих превью и очень впечатлен! Хотя я не понимаю, зачем во второй функции нужен .stop().

$('.col-' + i).delay(50 * (cols - i))

Этот способ тоже работает нормально, или я что-то упустил?

...