From: Vincent Vanwaelscappel Date: Tue, 29 Jan 2019 15:38:22 +0000 (+0100) Subject: fix #2553 @4 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=1ac92af7bc1fd63e3545fa6d5155fce167d29625;p=fluidbook-html5.git fix #2553 @4 --- diff --git a/js/libs/fluidbook/fluidbook.links.js b/js/libs/fluidbook/fluidbook.links.js index a7303047..8a8ecec5 100644 --- a/js/libs/fluidbook/fluidbook.links.js +++ b/js/libs/fluidbook/fluidbook.links.js @@ -601,6 +601,7 @@ FluidbookLinks.prototype = { }, initSlideshow: function (s) { + var $this = this; s.data('init', true); var dir = 'data/links/' + $(s).data('dir') + '/'; $.each($(s).data('images'), function (k, i) { @@ -609,18 +610,29 @@ FluidbookLinks.prototype = { }); setTimeout(function () { - s.find('.slide:eq(0)').addClass('show'); - }, 1000); + var s0 = s.find('.slide:eq(0)'); + s0.css('display', 'block'); + setTimeout(function () { + s0.addClass('show'); + }, 10); + }, 4000); this.initInlineSlideshowsIntervals.push(setInterval(function () { - var current = s.find('.slide.show'); + var current = s.find('.slide.show').eq(0); var next = $(current).nextAll('.slide:not(.show):eq(0)'); - if ($(next).length == 0) { + if ($(next).length === 0) { next = s.find('.slide:eq(0)'); } - $(next).addClass('show'); - $(current).removeClass('show'); + $(next).css({display: 'block', zIndex: 2}); + + setTimeout(function () { + $(next).addClass('show').one($this.fluidbook.support.getTransitionEndEvent(), function () { + $(current).removeClass('show').css('display', 'none'); + $(this).css({zIndex: ''}); + }); + }, 100); + }, parseFloat(this.fluidbook.datas.inlineSlideshowDuration) * 1000)); }, diff --git a/js/libs/fluidbook/fluidbook.pagetransitions.js b/js/libs/fluidbook/fluidbook.pagetransitions.js index 281910c7..668592cc 100644 --- a/js/libs/fluidbook/fluidbook.pagetransitions.js +++ b/js/libs/fluidbook/fluidbook.pagetransitions.js @@ -36,13 +36,17 @@ FluidbookPageTransition.prototype = { }, getTransitionType: function (pageNr) { - pageNr = this.normalizeTransitionPageNr(pageNr); + if (pageNr !== undefined) { + pageNr = this.normalizeTransitionPageNr(pageNr); - if (pageNr === this.fluidbook.normalizePage(this.fluidbook.currentPage) || - this.fluidbook.currentPage === -1 || - !this.fluidbook.support.transitions2d || + if (pageNr === this.fluidbook.normalizePage(this.fluidbook.currentPage) || + this.fluidbook.currentPage === -1) { + return "immediate"; + } + } + if (!this.fluidbook.support.transitions2d || this.fluidbook.datas.mobileTransitions === 'none') { - return "immediate"; + return 'immediate'; } if (this.fluidbook.displayOnePage) { return 'portrait'; diff --git a/js/libs/fluidbook/fluidbook.resize.js b/js/libs/fluidbook/fluidbook.resize.js index 0997ebd7..ce869c83 100644 --- a/js/libs/fluidbook/fluidbook.resize.js +++ b/js/libs/fluidbook/fluidbook.resize.js @@ -175,7 +175,7 @@ FluidbookResize.prototype = { }); // Hack to fix #2552 - if (this.fluidbook.support.iOS && this.fluidbook.support.transitions3dacc) { + if (this.fluidbook.support.iOS && this.fluidbook.pagetransitions.getTransitionType() === 'flip3d') { $('#fluidbook').css('transform', 'translate3d(0,0,-1px) scale(' + this.bookScale + ',' + this.bookScale + ')'); } var top = marginTop + (ah - fhh) / 2; diff --git a/style/fluidbook.less b/style/fluidbook.less index 9693ba85..d8e66234 100644 --- a/style/fluidbook.less +++ b/style/fluidbook.less @@ -2751,18 +2751,22 @@ body > input { overflow: hidden; .slide { + display: none; width: 100%; height: 100%; background-size: cover; background-position: 50% 50%; opacity: 0; - transition: opacity @inlineslideshow-transition-time; + position: absolute; top: 0; left: 0; + z-index: 0; &.show { + z-index: 1; opacity: 1; + transition: opacity @inlineslideshow-transition-time; } } }