Jquery帮助,循环动画

时间:2011-07-07 17:35:29

标签: jquery loops callback jquery-animate settimeout

我是一个jQuery noob,我该如何循环呢?如果可能的话,我可以把它连接起来,以便用更少的代码工作吗?

$(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 :(得分:0)

您可以在上次函数调用中使用回调,以便在上次函数调用完成后立即调用自身。

$(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
}