判断多个图片是否都加载完全

    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(){
           //图片加载完全
    });    

 deferred对象是jQuery的回调函数解决方案,创建方法:var dfd=$.Deferred();

 deferred带有3种状态:pending(待定)、resolved(成功)、rejected(失败)

 jQuery.when()用于传入一个或多个deferred对象

$.when(defered1,defered2).done(function(){
     //只有defered1和defered2都为resolved时才执行
});  

 

  

posted on 2016-05-06 18:11  D&L  阅读(176)  评论(0编辑  收藏  举报