jQuery:如何在`animate()`函数完成后触发回调函数

时间:2017-08-16 15:22:12

标签: jquery

我希望能够在一堆事件中使用回调,但最后却不能。我试图这样做,但似乎代码在调用回调后逃脱了任何影响。

$(this).animate({//animate image
                top:0
            }, aniTime)

            .delay(1000, function(){

             //some code

            })

            .animate({//animate image
                top:250
            }, aniTime)

有没有办法做到这一点,还是不可能/最佳做法?

1 个答案:

答案 0 :(得分:1)

您可以使用animate的complete回调参数来实现此效果。这将在延迟时间开始的同时在第一个动画完成时运行它的内容。

示例:

$(this).animate({//animate image
        top:0
    }, aniTime,
    // complete callback follows:
    function(){
        $('otherElement').fadeOut(200);
    })
    .delay(1000)
    .animate({//animate image
        top:250
    }, aniTime)