From 4dc037a023d47e76753aea935b4cf20ea2bef2d4 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 25 Oct 2018 18:20:26 +0200 Subject: [PATCH] fix #2311 @1.5 --- js/libs/fluidbook/fluidbook.js | 36 +++++++++++-------- .../fluidbook/fluidbook.pagetransitions.js | 7 ++-- js/libs/fluidbook/fluidbook.slider.js | 2 +- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/js/libs/fluidbook/fluidbook.js b/js/libs/fluidbook/fluidbook.js index 1a18b74b..a2d99b31 100644 --- a/js/libs/fluidbook/fluidbook.js +++ b/js/libs/fluidbook/fluidbook.js @@ -83,7 +83,6 @@ Fluidbook.prototype = { this.vectorTexts = !this.support.imagesVersion; this.displayOnePage = false; this.indexHTML = ''; - this.transitionning = false; this.gal = null; this.isReady = false; this.transitionAxis = 'x'; @@ -140,12 +139,20 @@ Fluidbook.prototype = { }); }, initKeyboardShortcuts: function () { + var $this = this; // General keyboard shortcuts - key('home', this.goFirstPage.bind(this)); - key('end', this.goLastPage.bind(this)); - key('left', this.goPreviousPage.bind(this)); - key('right', this.goNextPage.bind(this)); - + key('home', function () { + $this.goFirstPage(); + }); + key('end', function () { + $this.goLastPage(); + }); + key('left', function () { + $this.goPreviousPage(); + }); + key('right', function () { + $this.goNextPage(); + }); // See fluidbook.audiodescription.js for specific shortcuts }, hideSplash: function () { @@ -269,35 +276,36 @@ Fluidbook.prototype = { return offset; }, goNextPage: function () { - if (this.transitionning) { + if (this.pagetransitions.transitionning) { return; } this.transitionAxis = 'x'; this.setCurrentPage(this.normalizePage(this.currentPage) + this.getNextOffset()); }, goFirstPage: function () { - if (this.transitionning) { + if (this.pagetransitions.transitionning) { return; } this.transitionAxis = 'x'; this.setCurrentPage(1); }, goPreviousPage: function () { - if (this.transitionning) { + if (this.pagetransitions.transitionning) { return; } this.transitionAxis = 'x'; this.setCurrentPage(this.normalizePage(this.currentPage) - this.getNextOffset()); }, goLastPage: function () { - if (this.transitionning) { + if (this.pagetransitions.transitionning) { + console.log('golastpage skip'); return; } this.transitionAxis = 'x'; this.setCurrentPage(this.contentlock.getMaxPage()); }, goNextChapter: function () { - if (this.transitionning) { + if (this.pagetransitions.transitionning) { return; } var next = this.bookmarks.getNextGroupCover(this.currentPage); @@ -308,7 +316,7 @@ Fluidbook.prototype = { this.setCurrentPage(this.normalizePage(next)); }, goPreviousChapter: function () { - if (this.transitionning) { + if (this.pagetransitions.transitionning) { return; } var prev = this.bookmarks.getPreviousGroupCover(this.currentPage); @@ -319,7 +327,7 @@ Fluidbook.prototype = { this.setCurrentPage(this.normalizePage(prev)); }, goNextChapterPage: function () { - if (this.transitionning) { + if (this.pagetransitions.transitionning) { return; } @@ -331,7 +339,7 @@ Fluidbook.prototype = { this.setCurrentPage(this.normalizePage(next)); }, goPreviousChapterPage: function () { - if (this.transitionning) { + if (this.pagetransitions.transitionning) { return; } diff --git a/js/libs/fluidbook/fluidbook.pagetransitions.js b/js/libs/fluidbook/fluidbook.pagetransitions.js index 09a37c63..39671661 100644 --- a/js/libs/fluidbook/fluidbook.pagetransitions.js +++ b/js/libs/fluidbook/fluidbook.pagetransitions.js @@ -1,5 +1,6 @@ function FluidbookPageTransition(fluidbook) { this.fluidbook = fluidbook; + this.transitionning = false; this.init(); } @@ -95,6 +96,9 @@ FluidbookPageTransition.prototype = { pageTransition3DFlip: function (pageNr) { var $this = this; var turning = this.getTurningPages(pageNr); + + this.transitionning = true; + if (!this.fluidbook.loader.arePreloadedPages(turning.end)) { this.fluidbook.displayLoader(); } @@ -305,9 +309,6 @@ FluidbookPageTransition.prototype = { } }, afterTransition: function (page) { - if (this.transitionning === false) { - //return; - } var $this = this; this.fluidbook.currentPage = page; this.fluidbook.setPageNumbers(); diff --git a/js/libs/fluidbook/fluidbook.slider.js b/js/libs/fluidbook/fluidbook.slider.js index 852f1f99..df5c4e91 100644 --- a/js/libs/fluidbook/fluidbook.slider.js +++ b/js/libs/fluidbook/fluidbook.slider.js @@ -16,7 +16,7 @@ FluidbookSlider.prototype = { }); $("#sliderback").on('click', function (e) { - if ($this.fluidbook.transitionning) { + if ($this.fluidbook.pagetransitions.transitionning) { return; } $this.updatePageByCursorPosition($this.pageToSlider(e.pageX), true, true); -- 2.39.5