如何判断imgs是全部加载的

时间:2017-01-18 07:54:45

标签: javascript jquery

我有一个项目来了解imgs'文档加载时的高度,但起初我得到的高度为零所以是否有任何提示知道imgs是否已经加载?我试图在jQuery中使用$ .deferred;这是我的代码:

$(function() {
  var imgdefereds = [];

  $('img').each(function() {
    var dfd = $.Deferred();
    $(this).bind('load', function() {
      dfd.resolve();
    }).bind('error', function() {
      //error callback
    })

    if (this.complete) {
      setTimeout(function() {
        dfd.resolve();
      }, 1000);
    }
    imgdefereds.push(dfd.promise());
  })

  $.when.apply(null, imgdefereds).done(function() {
    console.log('complete');
  });
})

它没有用。我该如何解决?

1 个答案:

答案 0 :(得分:0)

试试这个:

$("img").one("load", function() {
  // do stuff
}).each(function() {
  if(this.complete) {
    // do stuff
  }
});