我必须上传modalbox-dialog以及fadout modalbox-overlay,这必须同时发生,因此无法在slideup的done函数中淡出
$('#modalbox-dialog').slideUp({
done:function() {
}
});
$('#modalbox-overlay').fadeOut();
完成幻灯片和淡出后,必须执行这些操作
$('.nav > *').remove();
$('#foo-helper > *').remove();
$(FilterView.currentDiv).insertAfter('#hidden-divs-helper');
FilterView.currentDiv = '';
答案 0 :(得分:0)
使用$.when()
$(document).ready(function() {
var f1 = $('#modalbox-dialog').slideUp({duration:10000})
var f2 = $('#modalbox-overlay').fadeOut();
$.when( f1, f2 ).done(function ( v1, v2 ) {
alert('finished both');
});
});
看到这个小提琴:http://jsfiddle.net/oLm8L1pL/
我将持续时间设置得特别高,以证明效果。
答案 1 :(得分:0)
这是我的解决方案
hide: function () {
var deferred = $.Deferred();
var slideUp = $('#modalbox-dialog').slideUp();
var fadeOut = $('#modalbox-overlay').fadeOut();
$.when(slideUp, fadeOut).done(function() {
deferred.resolve();
});
return deferred.promise();
}
希望它有助于进一步提问:)