X-Git-Url: https://scm.cri.mines-paristech.fr/git/Portfolio.git/blobdiff_plain/cd282ee58b2893790d06ce40a8b02c65481abbeb..dc502e53f9f6081d3c2bc4e9991feffcd60c15e1:/skins/photo_film_viewer.js diff --git a/skins/photo_film_viewer.js b/skins/photo_film_viewer.js index 3140763..16ffb88 100644 --- a/skins/photo_film_viewer.js +++ b/skins/photo_film_viewer.js @@ -6,7 +6,6 @@ Licence Creative Commons http://creativecommons.org/licenses/by-nc/2.0/ var FilmSlider; var s; - (function(){ var keyLeft = 37, keyRight = 39; @@ -148,10 +147,11 @@ FilmSlider.prototype._checkSize = function(evt) { FilmSlider.prototype._checkSizeStability = function(evt) { var self = this; var i; + var checkAgain = function(evt){self._checkSizeStability();}; for (i=0 ; i dispHeight) { + ratio = dispHeight / imgHeight; + imgWidth = imgWidth * ratio; + imgHeight = dispHeight; + } + if (imgWidth > dispWidth) { + ratio = dispWidth / imgWidth; + imgHeight = imgHeight * ratio; + imgWidth = dispWidth; + } + this.image.style.visibility = 'hidden'; this.image.src = this.pendingImage.src; - this.image.width = this.pendingImage.width; - this.image.height = this.pendingImage.height; + this.image.width = imgWidth; + this.image.height = imgHeight; this.image.style.visibility = 'visible'; if (this.selectedSlideInSelection) { this.image.parentNode.className = 'selected'; } else { this.image.parentNode.className = ''; } @@ -732,6 +779,7 @@ FilmSlider.prototype.updateBreadcrumbs = function(url, title) { FilmSlider.prototype.startThumbnailsLoadQueue = function(evt) { var thumbnails = this.film.getElementsByTagName('img'); + if (thumbnails.length === 1) { return; } this.thumbnailsLoadingOrder = []; var leftSize = this.center; var rightSize = thumbnails.length - this.center - 1; @@ -742,19 +790,18 @@ FilmSlider.prototype.startThumbnailsLoadQueue = function(evt) { } if (leftSize > rightSize) { for (i = this.center - rightSize - 1 ; i >= 0 ; i--) { - console.log(i); this.thumbnailsLoadingOrder.push(thumbnails[i]); } } else if (leftSize < rightSize) { - for (i = this.center + leftSize ; i < thumbnails.length ; i++) { + for (i = this.center + leftSize + 1 ; i < thumbnails.length ; i++) { this.thumbnailsLoadingOrder.push(thumbnails[i]); } } var next = this.thumbnailsLoadingOrder.shift(); var self = this; addListener(next, 'load', function(evt){self._loadNextThumb(evt);}); - next.src = next.parentNode.href + '/getThumbnail'; + next.src = this.translateImgUrl(next.parentNode.href) + '/getThumbnail'; }; FilmSlider.prototype._loadNextThumb = function(evt) { @@ -762,7 +809,7 @@ FilmSlider.prototype._loadNextThumb = function(evt) { if (!next) {return;} var self = this; addListener(next, 'load', function(evt){self._loadNextThumb(evt);}); - next.src = next.parentNode.href + '/getThumbnail'; + next.src = this.translateImgUrl(next.parentNode.href) + '/getThumbnail'; };