私はjqueryとjsが初めてなので、ばかげた質問かもしれません。
私は2つのアニメーションを持っています:
$(foo2).fadeOut(1000);
$(foo1).fadeOut(2000);
そして、それらがエレガントな方法で終了したときに呼び出されるコールバックが必要です(おそらく.whenを使用して、さまざまな-そして不明な期間の任意の数のアニメーションにスケーラブルです)
今まで私.when
は最長のアニメーションでのみ呼び出します:
function different_animation() {
effect = function() {
foo1 = 'div'; //this is an example that selects multiple elements
foo2 = 'p'; //this is an example that selects multiple elements
var ret1 = $(foo1).fadeOut(1000);
var ret2 = $(foo2).fadeOut(2000);
var seconds = new Date().getTime() / 1000;
console.log('fade out at'+seconds);
// i know that to ret2 there is attached a longer animation is longer then ret1
return ret2;
}
$.when( effect() ).done(function() {
var seconds = new Date().getTime() / 1000;
console.log('done at '+seconds);
});
}
しかし、もっと多くのアニメーションがあり、それぞれのタイミングがわからない場合はどうなりますか? rets に参加できるものが必要です。