JQuery помощь, цикл анимации - PullRequest
0 голосов
/ 07 июля 2011

Я нуб JQuery, как мне это зациклить?Если возможно, могу ли я сделать это так, чтобы он работал так же с меньшим количеством кода?

$(document).ready(function() {
    speech_animation();
});

 function speech_animation(){  
    $( "#b-block_wrap" ).delay(1000).fadeIn(500).animate({ top: 0}, {duration: 500,});
    $( "#p-block_wrap" ).delay(2000).fadeIn(500).animate({ top: 0,}, {duration: 500,});
    $("#first_wrap").delay(5500).fadeOut(500);
    $( "#g-block_wrap" ).delay(6000).fadeIn(500).animate({ top: 0}, {duration: 500,});
    $( "#y-block_wrap" ).delay(7000).fadeIn(500).animate({ top: 0}, {duration: 500,});
    $("#second_wrap").delay(10500).fadeOut(500);
}   

1 Ответ

0 голосов
/ 07 июля 2011

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

$(document).ready(function() {
    speech_animation();
});

 function speech_animation(){  
    $( "#b-block_wrap" ).delay(1000).fadeIn(500).animate({ top: 0}, {duration: 500,});
    $( "#p-block_wrap" ).delay(2000).fadeIn(500).animate({ top: 0,}, {duration: 500,});
    $("#first_wrap").delay(5500).fadeOut(500);
    $( "#g-block_wrap" ).delay(6000).fadeIn(500).animate({ top: 0}, {duration: 500,});
    $( "#y-block_wrap" ).delay(7000).fadeIn(500).animate({ top: 0}, {duration: 500,});
    $("#second_wrap").delay(10500).fadeOut(500, speech_animation);//callback here
}   
...