• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1(function() {
2  window.imagesLoad = function(images) {
3    images = images || document.getElementsByTagName('img');
4    var imagesCount = images.length, loadedCount = 0, image;
5    var i, j, loaded = false, cbs = [];
6    imagesCount < 1 && (loaded = true);
7    for (i = 0; i < imagesCount; i++) {
8      image = images[i];
9      image.complete ? handleImageLoad() : image.addEventListener('load', handleImageLoad);
10    }
11    function handleImageLoad() {
12      loadedCount++;
13      if (loadedCount === imagesCount) {
14        loaded = true;
15        if (cbs.length > 0) {
16          for (j = 0; j < cbs.length; j++) {
17            cbs[j]();
18          }
19        }
20      }
21    }
22    return {
23      then: function(cb) {
24        cb && (loaded ? cb() : (cbs.push(cb)));
25      }
26    };
27  };
28})();