summaryrefslogtreecommitdiff
path: root/_includes/scripts/utils/imagesLoad.js
diff options
context:
space:
mode:
authorKarl Hallsby <karl@hallsby.com>2020-09-27 17:45:13 -0500
committerKarl Hallsby <karl@hallsby.com>2020-09-27 17:45:13 -0500
commitc6bf5f7c895287d2028f6024265913b59784a154 (patch)
tree3a298df17d9472a679411dd81ea00a1239652477 /_includes/scripts/utils/imagesLoad.js
parent50dafcddc0392b99b228824274b1b97d0e72e423 (diff)
Bring all of jekyll-text-theme _includes into site
Diffstat (limited to '_includes/scripts/utils/imagesLoad.js')
-rw-r--r--_includes/scripts/utils/imagesLoad.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/_includes/scripts/utils/imagesLoad.js b/_includes/scripts/utils/imagesLoad.js
new file mode 100644
index 0000000..63a6bdf
--- /dev/null
+++ b/_includes/scripts/utils/imagesLoad.js
@@ -0,0 +1,28 @@
+(function() {
+ window.imagesLoad = function(images) {
+ images = images || document.getElementsByTagName('img');
+ var imagesCount = images.length, loadedCount = 0, image;
+ var i, j, loaded = false, cbs = [];
+ imagesCount < 1 && (loaded = true);
+ for (i = 0; i < imagesCount; i++) {
+ image = images[i];
+ image.complete ? handleImageLoad() : image.addEventListener('load', handleImageLoad);
+ }
+ function handleImageLoad() {
+ loadedCount++;
+ if (loadedCount === imagesCount) {
+ loaded = true;
+ if (cbs.length > 0) {
+ for (j = 0; j < cbs.length; j++) {
+ cbs[j]();
+ }
+ }
+ }
+ }
+ return {
+ then: function(cb) {
+ cb && (loaded ? cb() : (cbs.push(cb)));
+ }
+ };
+ };
+})();