我想在完成另一个动画时播放动画。
我使用了这段代码:
$("#test_01").stop().animate({height: '500'}, 2500).promise($("#test_02").fadeIn(2500));
这同时激活了两者 - 这不是我想要的。
我需要先$("#test_01")
才能工作,之后需要运行$("#test_02")
。
我该怎么做?
答案 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对象,然后在您将执行延迟操作的承诺中添加完成回调