diff options
Diffstat (limited to 'StoneIsland/www/js/vendor/imageviewer.js')
| -rw-r--r-- | StoneIsland/www/js/vendor/imageviewer.js | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/StoneIsland/www/js/vendor/imageviewer.js b/StoneIsland/www/js/vendor/imageviewer.js index 3917e34e..9f7087da 100644 --- a/StoneIsland/www/js/vendor/imageviewer.js +++ b/StoneIsland/www/js/vendor/imageviewer.js @@ -689,21 +689,27 @@ $window.off(eventSuffix); return null; }, - load: function (image, hiResImg) { + load: function (image, hiResImgSrc) { var self = this, container = this.container; container.find('.iv-snap-image,.iv-large-image').remove(); var snapImageWrap = this.container.find('.iv-snap-image-wrap'); - snapImageWrap.prepend('<img class="iv-snap-image" src="' + image + '" />'); - this.imageWrap.prepend('<img class="iv-large-image" src="' + image + '" />'); - if (hiResImg) { - this.imageWrap.append('<img class="iv-large-image" src="' + hiResImg + '" />') - } + var snapImage = new Image + snapImage.className = 'iv-snap-image' + snapImage.src = image + + var largeImage = new Image + largeImage.className = 'iv-large-image' + + var hiResImg; + + snapImageWrap.prepend(snapImage); + this.imageWrap.prepend(largeImage); - var currentImg = this.currentImg = this.container.find('.iv-large-image'); - this.snapImg = this.container.find('.iv-snap-image'); + var currentImg = this.currentImg = $(largeImage); + this.snapImg = $(snapImage); self.loaded = false; //show loader @@ -725,13 +731,19 @@ //hide loader container.find('.iv-loader').hide(); } - console.log(currentImg[0]) - if (imageLoaded(currentImg[0])) { - refreshView(); + + var loaded = false + largeImage.onload = function(){ + if (loaded) return + loaded = true + refreshView() + } + if (hiResImgSrc) { + largeImage.src = hiResImgSrc } else { - $(currentImg[0]).on('load', refreshView); + largeImage.src = image } - + if (largeImage.complete) largeImage.onload() } } |
