如何在jQuery中的事件后做一些事情?

时间:2015-07-22 04:54:20

标签: jquery jquery-animate promise fadein

我想在完成另一个动画时播放动画。

我使用了这段代码:

$("#test_01").stop().animate({height: '500'}, 2500).promise($("#test_02").fadeIn(2500));

这同时激活了两者 - 这不是我想要的。 我需要先$("#test_01")才能工作,之后需要运行$("#test_02")

我该怎么做?

2 个答案:

答案 0 :(得分:4)

使用您的代码尝试done

$("#test_01").stop().animate(
    {height: '500'},
    2500
).promise().done(
    function(){
        $("#test_02").fadeIn(2500)
    }
); 

在动画中的所有代码完成后,done函数回调将起作用。

答案 1 :(得分:2)

只需使用animate()

的完整回调即可
$("#test_01").stop().animate({
    height: '500'
}, 2500, function () {
    $("#test_02").fadeIn(2500)
});

如果您正在查看基于承诺的解决方案,那么您需要获取promise对象,然后在您将执行延迟操作的承诺中添加完成回调