Может кто-то, пожалуйста, оцените мой код и дайте мне знать, если это правильно.jquery animation repeat, что не так с моим синтаксисом?
Я пытаюсь запустить одну анимацию за другой, приостановить на 5000 миллисекунд, сбросить все высоты до нуля и повторить анимацию снова на неопределенный срок.
function animateThis(){
$(".bars div:nth-child(1)").animate({'height':'49px'}, 2000, function() {
$(".bars div:nth-child(2)").animate({'height':'112px'}, 2000, function() {
$(".bars div:nth-child(3)").animate({'height':'174px'}, 2000, function() {
$(".bars div:nth-child(4)").animate({'height':'236px'}, 2000, function() {
$(".bars div:nth-child(5)").animate({'height':'298px'}, 2000, function() {
$('.bars div').delay(2000).css({"height" : "0"}), function() { animateThis()};
});
});
});
});
});
}
$(".bars").ready(function(){animateThis()});
Пример можно увидеть на http://execusite.com/fazio/files/careers-banner/test.html
Я переформатировать его от некоторых ответов, которые я получил вчера, но он по-прежнему не работает, и я не получил никакой обратной связи.
Спасибо!
Итак, вы описали код и ожидаемое поведение. Каково фактическое поведение? – 2010-12-02 17:39:51
@ Карл. Фактическое поведение можно увидеть по ссылке. Я объясню. Каждая анимация по высоте срабатывает последовательно, как следует. Однако .delay перед изменением высоты до нуля не работает, и вся функция не повторяется. Таким образом, как только пятый барабан оживляет, он сразу возвращает их всех в 0 и останавливается. – 2010-12-02 17:43:09
@JJ Почему вы используете `$ (". Bars "). Ready()`? – 2010-12-02 17:43:58