diff options
Diffstat (limited to 'js/reveal.js')
-rw-r--r-- | js/reveal.js | 49 |
1 files changed, 31 insertions, 18 deletions
diff --git a/js/reveal.js b/js/reveal.js index 8ff8e0b..e753d17 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -18,7 +18,7 @@ var Reveal = (function(){ // Configurations options, can be overridden at initialization time config = { - controls: false, + controls: true, progress: false, history: false, loop: false, @@ -87,11 +87,14 @@ var Reveal = (function(){ dom.wrapper = document.querySelector( '.reveal' ); dom.progress = document.querySelector( '.reveal .progress' ); dom.progressbar = document.querySelector( '.reveal .progress span' ); - dom.controls = document.querySelector( '.reveal .controls' ); - dom.controlsLeft = document.querySelector( '.reveal .controls .left' ); - dom.controlsRight = document.querySelector( '.reveal .controls .right' ); - dom.controlsUp = document.querySelector( '.reveal .controls .up' ); - dom.controlsDown = document.querySelector( '.reveal .controls .down' ); + + if ( config.controls ) { + dom.controls = document.querySelector( '.reveal .controls' ); + dom.controlsLeft = document.querySelector( '.reveal .controls .left' ); + dom.controlsRight = document.querySelector( '.reveal .controls .right' ); + dom.controlsUp = document.querySelector( '.reveal .controls .up' ); + dom.controlsDown = document.querySelector( '.reveal .controls .down' ); + } addEventListeners(); @@ -123,7 +126,7 @@ var Reveal = (function(){ config.transition = 'linear'; } - if( config.controls ) { + if( config.controls && dom.controls ) { dom.controls.style.display = 'block'; } @@ -156,11 +159,13 @@ var Reveal = (function(){ document.addEventListener( 'touchmove', onDocumentTouchMove, false ); document.addEventListener( 'touchend', onDocumentTouchEnd, false ); window.addEventListener( 'hashchange', onWindowHashChange, false ); - - dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false ); - dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false ); - dom.controlsUp.addEventListener( 'click', preventAndForward( navigateUp ), false ); - dom.controlsDown.addEventListener( 'click', preventAndForward( navigateDown ), false ); + + if ( config.controls && dom.controls ) { + dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false ); + dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false ); + dom.controlsUp.addEventListener( 'click', preventAndForward( navigateUp ), false ); + dom.controlsDown.addEventListener( 'click', preventAndForward( navigateDown ), false ); + } } function removeEventListeners() { @@ -170,10 +175,12 @@ var Reveal = (function(){ document.removeEventListener( 'touchend', onDocumentTouchEnd, false ); window.removeEventListener( 'hashchange', onWindowHashChange, false ); - dom.controlsLeft.removeEventListener( 'click', preventAndForward( navigateLeft ), false ); - dom.controlsRight.removeEventListener( 'click', preventAndForward( navigateRight ), false ); - dom.controlsUp.removeEventListener( 'click', preventAndForward( navigateUp ), false ); - dom.controlsDown.removeEventListener( 'click', preventAndForward( navigateDown ), false ); + if ( config.controls && dom.controls ) { + dom.controlsLeft.removeEventListener( 'click', preventAndForward( navigateLeft ), false ); + dom.controlsRight.removeEventListener( 'click', preventAndForward( navigateRight ), false ); + dom.controlsUp.removeEventListener( 'click', preventAndForward( navigateUp ), false ); + dom.controlsDown.removeEventListener( 'click', preventAndForward( navigateDown ), false ); + } } /** @@ -692,6 +699,10 @@ var Reveal = (function(){ * Updates the state and link pointers of the controls. */ function updateControls() { + if ( !config.controls || !dom.controls ) { + return; + } + var routes = availableRoutes(); // Remove the 'enabled' class from all directions @@ -811,7 +822,7 @@ var Reveal = (function(){ verticalFragments[ verticalFragments.length - 1 ].classList.remove( 'visible' ); // Notify subscribers of the change - dispatchEvent( 'fragmenthidden', { fragment: verticalFragments[0] } ); + dispatchEvent( 'fragmenthidden', { fragment: verticalFragments[ verticalFragments.length - 1 ] } ); return true; } } @@ -822,7 +833,7 @@ var Reveal = (function(){ horizontalFragments[ horizontalFragments.length - 1 ].classList.remove( 'visible' ); // Notify subscribers of the change - dispatchEvent( 'fragmenthidden', { fragment: horizontalFragments[0] } ); + dispatchEvent( 'fragmenthidden', { fragment: horizontalFragments[ horizontalFragments.length - 1 ] } ); return true; } } @@ -920,6 +931,8 @@ var Reveal = (function(){ navigateRight: navigateRight, navigateUp: navigateUp, navigateDown: navigateDown, + navigatePrev: navigatePrev, + navigateNext: navigateNext, toggleOverview: toggleOverview, addEventListeners: addEventListeners, |