2
我需要运行一些动画链。我试着用下面的代码,但总是第二()在同一时间第一(运行)JQuery when()。done()无法正常工作
例子之一:
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());
例子二:
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.我知道,我可以在动画调用中使用“完整”设置,但是我有很多关闭动画的大条件列表,使用“完整”设置会使代码无法读取。