2
アニメーションチェーンを実行する必要があります。私は、次のコードを使用しようとしたが、常に第二()(最初と同時に実行された)JQuery()。done()が正しく動作しない
例1:
var first = function(){
var d = new $.Deferred();
$('#ajax-contract-info').fadeOut(1400, function() {
$('#ajax-contract-info').removeClass('in');
$('#ajax-contract-info').css('display', '');
d.resolve();
});
return d.promise();
};
var second = function() {
var d = new $.Deferred();
$('#ajax-other-fields').fadeIn(1400, function() { d.resolve() });
return d.promise();
};
$.when(first())
.done(second());
例2:
間違いvar first = function(){
return $('#ajax-contract-info').fadeOut(1400, function() {
$('#ajax-contract-info').removeClass('in');
$('#ajax-contract-info').css('display', '');
}).promise();
};
var second = function() {
return $('#ajax-other-fields').fadeIn(1400, function() { d.resolve() }).promise();
};
$.when(first())
.done(second());
?
P.S.私はアニメーションコールの中で "完全な"設定を使用できることを知っていますが、大きな条件リストを持つアニメーションがたくさんあります。 "完全な"設定を使用するとコードを読むことができなくなります。