X-Git-Url: https://scm.cri.mines-paristech.fr/git/Portfolio.git/blobdiff_plain/a3732c58de2390b45546badf2e36cf4fe33c72aa..1a28edcbf9b0c46fbab9bcc9fff0b065349f8f24:/skins/photo_film_viewer.js?ds=inline diff --git a/skins/photo_film_viewer.js b/skins/photo_film_viewer.js index 9bbf5ef..566984a 100644 --- a/skins/photo_film_viewer.js +++ b/skins/photo_film_viewer.js @@ -83,36 +83,37 @@ FilmSlider = function(filmBar, slider, ctxInfos, image, toolbar, breadcrumbs) { }; if (!browser.isMobile) { -FilmSlider.prototype.resizeSlider = function(evt) { - var filmBarWidth = this.filmBarWidth; - if (!filmBarWidth) { return; } - var filmWidth = this.slideSize * this.filmLength; - var sliderRatio = this.sliderRatio = filmBarWidth / filmWidth; - var sliderWidth = filmBarWidth * sliderRatio; - this.rail.style.width = filmBarWidth + 'px'; - this.rail.style.display = 'block'; - this.rail.style.visibility = 'visible'; - if (sliderRatio < 1) { - this.slider.style.width = Math.round(sliderWidth) + 'px'; - this.slider.style.visibility = 'visible'; - } - else { - this.slider.style.visibility = 'hidden'; - } + FilmSlider.prototype.resizeSlider = function(evt) { + var filmBarWidth = this.filmBarWidth; + if (!filmBarWidth) { return; } + var filmWidth = this.slideSize * this.filmLength; + var sliderRatio = this.sliderRatio = filmBarWidth / filmWidth; + var sliderWidth = filmBarWidth * sliderRatio; + this.rail.style.width = filmBarWidth + 'px'; + this.rail.style.display = 'block'; + this.rail.style.visibility = 'visible'; + if (sliderRatio < 1) { + this.slider.style.width = Math.round(sliderWidth) + 'px'; + this.slider.style.visibility = 'visible'; + } + else { + this.slider.style.visibility = 'hidden'; + } - this.winSize = {'width' : getWindowWidth(), - 'height' : getWindowHeight()}; - this.maxRightPosition = filmBarWidth - sliderWidth; - this.sliderSpeedRatio = - (filmBarWidth - sliderWidth) / (filmWidth - filmBarWidth); - if (!this.initialized) { - this.centerSlide(this.center); - this.selectedSlide = this.filmBar.getElementsByTagName('img')[this.center].parentNode; - this.initialized = true; - } -}; + this.winSize = {'width' : getWindowWidth(), + 'height' : getWindowHeight()}; + this.maxRightPosition = filmBarWidth - sliderWidth; + this.sliderSpeedRatio = - (filmBarWidth - sliderWidth) / (filmWidth - filmBarWidth); + if (!this.initialized) { + this.centerSlide(this.center); + this.selectedSlide = this.filmBar.getElementsByTagName('img')[this.center].parentNode; + this.initialized = true; + } + }; } else { + // pas de barre de scroll horizontal pour les tablettes FilmSlider.prototype.resizeSlider = function(evt) {}; } @@ -158,7 +159,12 @@ FilmSlider.prototype.fitToScreen = function(evt) { FilmSlider.prototype._fitToScreen = function(evt) { var wh = getWindowHeight(); - var rb = getObjectTop(this.rail) + getObjectHeight(this.rail); // rail bottom + if (!browser.isMobile) { + var rb = getObjectTop(this.rail) + getObjectHeight(this.rail); // rail bottom + } + else { + var rb = getObjectTop(this.filmBar) + getObjectHeight(this.filmBar); // film bottom + } var delta = wh - rb; var sh = getObjectHeight(this.stretchable); var newSize = sh + delta; @@ -586,7 +592,8 @@ FilmSlider.prototype.touchStartHandler = function(evt) { FilmSlider.prototype.touchMoveHandler = function(evt) { var delta = this.touchStartX - evt.pageX; - this.film.style.left = String(this.filmStartX - delta) + 'px'; + var posX = Math.min(0, this.filmStartX - delta); + this.film.style.left = String(posX) + 'px'; }; FilmSlider.prototype.touchEndHandler = function(evt) {