jQuery在函数内重复动画

时间:2010-12-02 00:27:16

标签: jquery

我有一个简单的flash动画,我试图用jQuery重建。我有5个动画被链接起来一个接一个。在所有动画激活后,我需要它暂停5秒钟,清除自己并再次开始动画。我需要无限期地这样做。 这是我的代码:

$(".bars").ready(function() {
    $(".barone").animate({
        'height': '49px'
    }, 2000, function() {
        $(".bartwo").animate({
            'height': '112px'
        }, 2000, function() {
            $(".barthree").animate({
                'height': '174px'
            }, 2000, function() {
                $(".barfour").animate({
                    'height': '236px'
                }, 2000, function() {
                    $(".barfive").animate({
                        'height': '298px'
                    }, 2000, function() {
                        $('.bars div').delay(5000, function() {
                            $('.bars div').css({
                                "height": "0"
                            });
                        });
                    });
                });
            });
        });
    });
});

请原谅我的源格式,此文本字段与我不同意。

您还可以在以下位置查看示例:http://execusite.com/fazio/files/careers-banner/test.html

非常感谢任何帮助

那么这是正确的吗?

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')。延迟(2000).css({“height”:“0”}),function(){animateThis()};                             });                         });                     });
                });             });         }     $( “条”。)准备(函数(){animateThis()});

我为自己的无知而道歉,我对jQuery有些陌生,仍然试图掌握语法。

2 个答案:

答案 0 :(得分:2)

将您的代码放在一个函数中。当最后一个动画发生时,再次触发该功能。使用链式.delay(5000)暂停5秒

sudo代码:

function myAnimate(){
...your code.delay(5000).animate(....function(){ myAnimate() })
}

答案 1 :(得分:0)

我会将动画封装在一个函数中,然后使用JavaScript的setInterval(func,interval)。