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})();