deferred对象是jQuery的回调函数解决方案,创建方法:var dfd=$.Deferred();
deferred带有3种状态:pending(待定)、resolved(成功)、rejected(失败) var imgdefereds=[]; $("#images").find('img').each(function(){ var dfd=$.Deferred(); $(this).bind('load',function(){ dfd.resolve(); }) if(this.complete) setTimeout(function(){ dfd.resolve(); },1000); imgdefereds.push(dfd); }) $.when.apply(null,imgdefereds).done(function(){ //图片加载完全 }); jQuery.when()用于传入一个或多个deferred对象 $.when(defered1,defered2).done(function(){ //只有defered1和defered2都为resolved时才执行 }); (责任编辑:好模板) |