带有$ .when()的Jquery动画序列

时间:2014-04-02 09:50:38

标签: jquery callback jquery-animate

我有结构

$('.qwe').click(function(){

            $.when(
                $('#q1').animate({top: 100}, 1000),
                $('#q2').animate({top: 200}, 500)
            ).then(function () {
                $('#q3').fadeOut();
            });

        });

它可以正常工作,但我想在其他功能中取出动画:

    function asd(){
        $('#q1').animate({top: 100}, 1000);
        $('#q2').animate({top: 200}, 500);
    }
    $('.qwe').click(function(){

        $.when(asd()).then(function () {
                $('#q3').fadeOut();
            }
        );

    });

为什么同时进行动画?

1 个答案:

答案 0 :(得分:0)

  

试试这个:在jquery中使用回调

 $('.qwe').click(function(){

        $('#q1').animate({top: 100}, 1000 , function() {

              $('#q2').animate({top: 200}, 500, function() { 

                        $('#q3').fadeOut();
               });
         });


  });