完成所有动画后回调
Callback after all animates done
代码
在do_animations
中的所有animate
方法完成后,我需要帮助进行回调。对于一个animate
,我可以调用promise
和done
函数。我尝试使用$.Callbacs
,但我不知道如何从fire
方法中生成promise对象。
function random_num(a, b) {
return Math.floor(Math.random() * (b - a + 1)) + a;
}
function do_animations() {
var n = random_num(1, 5);
for (var i = 0; i < n; i++) {
var width = random_num(-50, 50);
$('#rec').animate({'left': '+=' + width + 'px'}, 300);
}
}
$(document).ready(function(){
do_animations();
});
最佳解决方案是
do_animations().done(function(){ ... });
使用promise():
演示
function do_animations() {
var n = random_num(1, 5),
$rec = $('#rec');
for (var i = 0; i < n; i++) {
var width = random_num(-50, 50);
$rec.animate({'left': '+=' + width + 'px'}, 300);
}
return $rec.promise();
}
$(document).ready(function(){
do_animations().done(function(){ alert("All animations done!") });
});
相关文章:
- 在没有大量回调函数的情况下在列表元素上循环播放同一动画
- 完成所有动画后回调
- 将参数传递给动画回调jQuery
- jQuery动画函数回调错误
- 传递参数以设置回调函数的动画
- jQuery,动画和动画返回.回调函数错误?:S
- 幻灯片放映后弹性滑块回调,而不是动画
- 立即调用的动画回调函数
- $.each 之后的回调带有动画
- 防止动画多次运行 - js 回调
- Chrome 不会在 jQuery 动画的回调中执行所有行
- 使用回调对悬停效果进行动画处理时出现问题
- CreateJS/EaselJS 框架中的动画回调
- 将 jquery remove 方法设置为动画完成时的回调不起作用
- 何时使用 jQuery 动画承诺而不是回调
- 你如何使动画不触发,除非完成之前(不使用回调)
- 防止回调运行,直到动画结束
- j查询链接与动画函数的回调
- 使用 Knockout.js 绑定 CSS3 动画回调
- 添加滑动回调动画Jquery