summaryrefslogtreecommitdiffhomepage
path: root/js/reveal.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/reveal.js')
-rw-r--r--js/reveal.js49
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,