]> _ Git - fluidbook-html5.git/commitdiff
(no commit message)
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 11 Sep 2013 12:48:33 +0000 (12:48 +0000)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 11 Sep 2013 12:48:33 +0000 (12:48 +0000)
js/libs/fluidbook/fluidbook.js
style/fluidbook.css

index a3b4e3d599f1cbf56c6489a88bb43015a0a7eba6..8cf6cf3b39728141f7eaf61236fa70caef688d39 100644 (file)
@@ -159,7 +159,7 @@ Fluidbook.prototype = {
                }\r
                $(doublePage).find('.' + position).remove();\r
 \r
-               var page = '<div class="page ' + position + '" id="page_' + pageNr + '"><div class="background" page="' + pageNr + '"></div><div class="clinks"></div><div class="texts" highlight=""></div><div class="shade"></div></div>';\r
+               var page = '<div class="page ' + position + '" id="page_' + pageNr + '" data-page="' + pageNr + '"><div class="background" page="' + pageNr + '"></div><div class="clinks"></div><div class="texts" highlight=""></div><div class="shade"></div></div>';\r
                $(doublePage).append(page);\r
        },\r
        hidePage: function(position) {\r
@@ -396,7 +396,7 @@ Fluidbook.prototype = {
                        $("#pages").addClass('_3dtransition');\r
                        $this.loader.setContentsInDoublePage(currentDoublePage, turning.flat, true, function() {\r
                                $this.loader.setContentsInDoublePage(doublePage, turning.flip, true, function() {\r
-                                       $this.beforeTransition(pageNr);\r
+                                       $this.beforeTransition(pageNr, 3);\r
                                        $(doublePage).addClass(turning.nextFromClass + 'end').one($this.support.getTransitionEndEvent(), function() {\r
                                                if ($this.transitionning == false) {\r
                                                        return;\r
@@ -525,14 +525,44 @@ Fluidbook.prototype = {
                                $("#next:hidden").fadeIn(speed);\r
                        }\r
                }\r
+       },\r
+       updateShadows: function(page, animationDuration) {\r
+               if (animationDuration == undefined) {\r
+                       animationDuration = 0;\r
+               }\r
+               animationDuration *= 1000;\r
 \r
-               if ((page <= 1 && this.l10n.dir == 'ltr') || (page >= this.datas.pages && this.l10n.dir == 'rtl')) {\r
-                       $("#shadow").removeClass('double').removeClass('left').addClass('right').addClass('single');\r
-               } else if ((page <= 1 && this.l10n.dir == 'rtl') || (page >= this.datas.pages && this.l10n.dir == 'ltr')) {\r
-                       $("#shadow").removeClass('double').removeClass('right').addClass('left').addClass('single');\r
+               var delay, duration;\r
+               if (animationDuration == 0) {\r
+                       delay = 0;\r
+                       duration = 0;\r
+               } else {\r
+                       delay = animationDuration * 0.7;\r
+                       duration = animationDuration * 0.3;\r
                }\r
-               else {\r
-                       $("#shadow").removeClass('single').addClass('double');\r
+\r
+               var left = true, right = true;\r
+               if (this.displayOnePage) {\r
+                       right = false;\r
+               } else {\r
+                       if ((page <= 1 && this.l10n.dir == 'ltr') || (page >= this.datas.pages && this.l10n.dir == 'rtl')) {\r
+                               left = false;\r
+                       } else if ((page <= 1 && this.l10n.dir == 'rtl') || (page >= this.datas.pages && this.l10n.dir == 'ltr')) {\r
+                               right = false;\r
+                       }\r
+               }\r
+\r
+\r
+               if (left) {\r
+                       $("#shadow>.left:hidden").delay(delay).fadeIn(duration);\r
+               } else {\r
+                       $("#shadow>.left:visible").fadeOut(duration);\r
+               }\r
+\r
+               if (right) {\r
+                       $("#shadow>.right:hidden").delay(delay).fadeIn(duration);\r
+               } else {\r
+                       $("#shadow>.right:visible").fadeOut(duration);\r
                }\r
        },\r
        showAllButtons: function() {\r
@@ -550,7 +580,7 @@ Fluidbook.prototype = {
                this.displayLoader();\r
                this.loader.preloadPagesBeforeTransition(turning.end, function() {\r
                        $this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
-                               $this.beforeTransition(pageNr);\r
+                               $this.beforeTransition(pageNr, 2);\r
                                $("#currentDoublePage").addClass('_2d').addClass('axis_' + $this.transitionAxis).addClass(turning.currentToClass);\r
                                $(doublePage).removeClass(turning.nextFromClass).one($this.support.getTransitionEndEvent(), function(event) {\r
                                        if ($this.transitionning == false) {\r
@@ -579,7 +609,7 @@ Fluidbook.prototype = {
                this.displayLoader();\r
                this.loader.preloadPagesBeforeTransition(turning.end, function() {\r
                        $this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
-                               $this.beforeTransition(pageNr);\r
+                               $this.beforeTransition(pageNr, 2);\r
                                $("#currentDoublePage").addClass('axis_' + $this.transitionAxis).addClass('_2d').addClass(turning.currentToClass);\r
                                $(doublePage).removeClass(turning.nextFromClass).one($this.support.getTransitionEndEvent(), function() {\r
                                        if ($this.transitionning == false) {\r
@@ -601,19 +631,23 @@ Fluidbook.prototype = {
                        this.hidePage('right');\r
                }\r
                var turning = this.getTurningPages(pageNr);\r
-               fb(turning);\r
                this.beforeTransition(pageNr);\r
                this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
                        $this.afterTransition(page);\r
                });\r
 \r
        },\r
-       beforeTransition: function(page) {\r
+       beforeTransition: function(page, d) {\r
+               if (d == undefined) {\r
+                       d = 1;\r
+               }\r
                $(".axis_y").removeClass('axis_y');\r
                $(".axis_x").removeClass('axis_x');\r
                $("#links").hide();\r
                this.hideLoader();\r
                this.hideUnnecessaryButtons(page);\r
+               var animationDuration = d <= 1 ? 0 : parseFloat(this.datas.mobileTransitionDuration);\r
+               this.updateShadows(page, animationDuration);\r
        },\r
        afterTransition: function(page) {\r
                if (this.transitionning === false) {\r
@@ -657,31 +691,16 @@ Fluidbook.prototype = {
 \r
        },\r
        setPageNumbers: function() {\r
-               var page = this.currentPage;\r
-\r
-               var min, max;\r
-\r
-               if (page > 0) {\r
-                       min = this.physicalToVirtual(page);\r
-               } else {\r
-                       min = '';\r
-               }\r
+               $("#pagesnumbers .left").html(this.getPageNumberOfSide('left'));\r
+               $("#pagesnumbers .right").html(this.getPageNumberOfSide('right'));\r
 \r
-               page++;\r
-               if (page <= this.datas.pages) {\r
-                       max = this.physicalToVirtual(page);\r
-               } else {\r
-                       max = '';\r
-               }\r
-\r
-\r
-               if (this.l10n.dir == 'ltr') {\r
-                       $("#pagesnumbers .left").html(min);\r
-                       $("#pagesnumbers .right").html(max);\r
-               } else {\r
-                       $("#pagesnumbers .right").html(min);\r
-                       $("#pagesnumbers .left").html(max);\r
+       },\r
+       getPageNumberOfSide: function(side) {\r
+               var p = $("#currentDoublePage").find('.' + side);\r
+               if (p.length == 0) {\r
+                       return '';\r
                }\r
+               return this.physicalToVirtual($(p).data('page'));\r
        },\r
        clickLogo: function() {\r
                if (this.datas.url_link == '' || this.datas.url_link == 'http://') {\r
index a1587719b9516d75e073dd99d73ef089f15e63c3..36181e9d75402c1e8ea49e28590468503de4dfef 100644 (file)
@@ -200,17 +200,33 @@ body{
 }\r
 \r
 \r
-.doublePage,#shadow,#pages{\r
+.doublePage,#pages{\r
        position:absolute;\r
        top:0px;\r
        left:0px;\r
        overflow:hidden;\r
 }\r
 #pages{\r
+       position:absolute;\r
+       top:0px;\r
+       left:0px; \r
+}\r
+\r
+/* Shadow */\r
+#shadow{\r
        position:absolute;\r
        top:0px;\r
        left:0px;\r
+}\r
 \r
+#shadow>div{\r
+       position:absolute;\r
+       top:0px;\r
+       left:0px;\r
+}\r
+\r
+.portrait #shadow>div.right{\r
+       display:none;\r
 }\r
 \r
 /* Nav */\r