【发布时间】:2015-04-18 01:07:25
【问题描述】:
我正在尝试运行 3 个动画,一个接一个,这样只有在第一个动画完成后,第二个动画才开始,只有在第二个动画完成后,第三个动画才开始。
我可以使用嵌套的 jQuery 动画回调来做到这一点
go("one", function () {
go("two", function () {
go("three", null);
});
});
http://jsfiddle.net/stevenc/m0en7avd/2/
但是,我希望能够使用 jQuery 承诺/延迟来做到这一点。我一直在创建一个延迟对象并返回它的承诺。动画回调现在将 promise 设置为已解决,并且只有在这一点上我才期望“then”开始:
go("one").then(go("two")).then(go("three"));
但会发生的是所有动画同时开始。
http://jsfiddle.net/stevenc/wsqm6yo1/11/
谁能看到我错过了什么?
【问题讨论】:
标签: jquery animation promise deferred