From 9ac991ea00e69760cd9052cfc1c71075596855ed Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 11 Sep 2013 12:48:33 +0000 Subject: [PATCH] --- js/libs/fluidbook/fluidbook.js | 89 +++++++++++++++++++++------------- style/fluidbook.css | 18 ++++++- 2 files changed, 71 insertions(+), 36 deletions(-) diff --git a/js/libs/fluidbook/fluidbook.js b/js/libs/fluidbook/fluidbook.js index a3b4e3d5..8cf6cf3b 100644 --- a/js/libs/fluidbook/fluidbook.js +++ b/js/libs/fluidbook/fluidbook.js @@ -159,7 +159,7 @@ Fluidbook.prototype = { } $(doublePage).find('.' + position).remove(); - var page = '
'; + var page = '
'; $(doublePage).append(page); }, hidePage: function(position) { @@ -396,7 +396,7 @@ Fluidbook.prototype = { $("#pages").addClass('_3dtransition'); $this.loader.setContentsInDoublePage(currentDoublePage, turning.flat, true, function() { $this.loader.setContentsInDoublePage(doublePage, turning.flip, true, function() { - $this.beforeTransition(pageNr); + $this.beforeTransition(pageNr, 3); $(doublePage).addClass(turning.nextFromClass + 'end').one($this.support.getTransitionEndEvent(), function() { if ($this.transitionning == false) { return; @@ -525,14 +525,44 @@ Fluidbook.prototype = { $("#next:hidden").fadeIn(speed); } } + }, + updateShadows: function(page, animationDuration) { + if (animationDuration == undefined) { + animationDuration = 0; + } + animationDuration *= 1000; - if ((page <= 1 && this.l10n.dir == 'ltr') || (page >= this.datas.pages && this.l10n.dir == 'rtl')) { - $("#shadow").removeClass('double').removeClass('left').addClass('right').addClass('single'); - } else if ((page <= 1 && this.l10n.dir == 'rtl') || (page >= this.datas.pages && this.l10n.dir == 'ltr')) { - $("#shadow").removeClass('double').removeClass('right').addClass('left').addClass('single'); + var delay, duration; + if (animationDuration == 0) { + delay = 0; + duration = 0; + } else { + delay = animationDuration * 0.7; + duration = animationDuration * 0.3; } - else { - $("#shadow").removeClass('single').addClass('double'); + + var left = true, right = true; + if (this.displayOnePage) { + right = false; + } else { + if ((page <= 1 && this.l10n.dir == 'ltr') || (page >= this.datas.pages && this.l10n.dir == 'rtl')) { + left = false; + } else if ((page <= 1 && this.l10n.dir == 'rtl') || (page >= this.datas.pages && this.l10n.dir == 'ltr')) { + right = false; + } + } + + + if (left) { + $("#shadow>.left:hidden").delay(delay).fadeIn(duration); + } else { + $("#shadow>.left:visible").fadeOut(duration); + } + + if (right) { + $("#shadow>.right:hidden").delay(delay).fadeIn(duration); + } else { + $("#shadow>.right:visible").fadeOut(duration); } }, showAllButtons: function() { @@ -550,7 +580,7 @@ Fluidbook.prototype = { this.displayLoader(); this.loader.preloadPagesBeforeTransition(turning.end, function() { $this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() { - $this.beforeTransition(pageNr); + $this.beforeTransition(pageNr, 2); $("#currentDoublePage").addClass('_2d').addClass('axis_' + $this.transitionAxis).addClass(turning.currentToClass); $(doublePage).removeClass(turning.nextFromClass).one($this.support.getTransitionEndEvent(), function(event) { if ($this.transitionning == false) { @@ -579,7 +609,7 @@ Fluidbook.prototype = { this.displayLoader(); this.loader.preloadPagesBeforeTransition(turning.end, function() { $this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() { - $this.beforeTransition(pageNr); + $this.beforeTransition(pageNr, 2); $("#currentDoublePage").addClass('axis_' + $this.transitionAxis).addClass('_2d').addClass(turning.currentToClass); $(doublePage).removeClass(turning.nextFromClass).one($this.support.getTransitionEndEvent(), function() { if ($this.transitionning == false) { @@ -601,19 +631,23 @@ Fluidbook.prototype = { this.hidePage('right'); } var turning = this.getTurningPages(pageNr); - fb(turning); this.beforeTransition(pageNr); this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() { $this.afterTransition(page); }); }, - beforeTransition: function(page) { + beforeTransition: function(page, d) { + if (d == undefined) { + d = 1; + } $(".axis_y").removeClass('axis_y'); $(".axis_x").removeClass('axis_x'); $("#links").hide(); this.hideLoader(); this.hideUnnecessaryButtons(page); + var animationDuration = d <= 1 ? 0 : parseFloat(this.datas.mobileTransitionDuration); + this.updateShadows(page, animationDuration); }, afterTransition: function(page) { if (this.transitionning === false) { @@ -657,31 +691,16 @@ Fluidbook.prototype = { }, setPageNumbers: function() { - var page = this.currentPage; - - var min, max; - - if (page > 0) { - min = this.physicalToVirtual(page); - } else { - min = ''; - } + $("#pagesnumbers .left").html(this.getPageNumberOfSide('left')); + $("#pagesnumbers .right").html(this.getPageNumberOfSide('right')); - page++; - if (page <= this.datas.pages) { - max = this.physicalToVirtual(page); - } else { - max = ''; - } - - - if (this.l10n.dir == 'ltr') { - $("#pagesnumbers .left").html(min); - $("#pagesnumbers .right").html(max); - } else { - $("#pagesnumbers .right").html(min); - $("#pagesnumbers .left").html(max); + }, + getPageNumberOfSide: function(side) { + var p = $("#currentDoublePage").find('.' + side); + if (p.length == 0) { + return ''; } + return this.physicalToVirtual($(p).data('page')); }, clickLogo: function() { if (this.datas.url_link == '' || this.datas.url_link == 'http://') { diff --git a/style/fluidbook.css b/style/fluidbook.css index a1587719..36181e9d 100644 --- a/style/fluidbook.css +++ b/style/fluidbook.css @@ -200,17 +200,33 @@ body{ } -.doublePage,#shadow,#pages{ +.doublePage,#pages{ position:absolute; top:0px; left:0px; overflow:hidden; } #pages{ + position:absolute; + top:0px; + left:0px; +} + +/* Shadow */ +#shadow{ position:absolute; top:0px; left:0px; +} +#shadow>div{ + position:absolute; + top:0px; + left:0px; +} + +.portrait #shadow>div.right{ + display:none; } /* Nav */ -- 2.39.5