あなたがちょうどあなたがそれらのすべてに待ちたい場合は、jQueryのアニメーションが
$('#btn').click(function(){
var arr = [
$('#div-1').animate({'background-position-y': '4000'}, 8000, 'easeInOutQuart').promise(),
$('#div-2').animate({'background-position-y': '4000'}, 10000, 'easeInOutQuart').promise(),
$('#div-3').animate({'background-position-y': '4000'}, 9000, 'easeInOutQuart').promise(),
$('#div-4').animate({'background-position-y': '4000'}, 7000, 'easeInOutQuart').promise()
];
$.when.apply($, arr).then(function() {
// all complete
setTimeout(function() {
// wait an additional 3 seconds
}, 3000);
});
});
のように使用することができ約束を、返すことができ
$('#btn').click(function(){
$('#div-1').animate({'background-position-y': '4000'}, 8000, 'easeInOutQuart');
$('#div-2').animate({'background-position-y': '4000'}, 10000, 'easeInOutQuart', function() {
// all should be done, as this one is the longest running animation
setTimeout(function() {
// wait an additional 3 seconds
}, 3000);
});
$('#div-3').animate({'background-position-y': '4000'}, 9000, 'easeInOutQuart');
$('#div-4').animate({'background-position-y': '4000'}, 7000, 'easeInOutQuart');
});
を行うことができますように、第2は、常に、最長がかかります
あなたは多くの要素にこれを行うにする場合、このようなものは
$.fn.anim = function(speed) {
return this.animate({'background-position-y': '4000'}, speed, 'easeInOutQuart').promise();
}
$('#btn').click(function(){
$.when.apply($, [
$('#div-1').anim(8000),
$('#div-2').anim(10000),
$('#div-3').anim(9000),
$('#div-4').anim(7000)
]).then(function() {
setTimeout(function() {
// wait an additional 3 seconds
}, 3000);
});
});
おかげでたくさんの役に立つかもしれません!第二は私のために働く。すばらしいです! – Med