Merge pull request #58 from danielmitd/controls
fix JS error when controls are removed from HTML
This commit is contained in:
commit
2d44d1e25f
39
js/reveal.js
39
js/reveal.js
|
@ -87,11 +87,14 @@ var Reveal = (function(){
|
||||||
dom.wrapper = document.querySelector( '.reveal' );
|
dom.wrapper = document.querySelector( '.reveal' );
|
||||||
dom.progress = document.querySelector( '.reveal .progress' );
|
dom.progress = document.querySelector( '.reveal .progress' );
|
||||||
dom.progressbar = document.querySelector( '.reveal .progress span' );
|
dom.progressbar = document.querySelector( '.reveal .progress span' );
|
||||||
dom.controls = document.querySelector( '.reveal .controls' );
|
|
||||||
dom.controlsLeft = document.querySelector( '.reveal .controls .left' );
|
if ( config.controls ) {
|
||||||
dom.controlsRight = document.querySelector( '.reveal .controls .right' );
|
dom.controls = document.querySelector( '.reveal .controls' );
|
||||||
dom.controlsUp = document.querySelector( '.reveal .controls .up' );
|
dom.controlsLeft = document.querySelector( '.reveal .controls .left' );
|
||||||
dom.controlsDown = document.querySelector( '.reveal .controls .down' );
|
dom.controlsRight = document.querySelector( '.reveal .controls .right' );
|
||||||
|
dom.controlsUp = document.querySelector( '.reveal .controls .up' );
|
||||||
|
dom.controlsDown = document.querySelector( '.reveal .controls .down' );
|
||||||
|
}
|
||||||
|
|
||||||
addEventListeners();
|
addEventListeners();
|
||||||
|
|
||||||
|
@ -123,7 +126,7 @@ var Reveal = (function(){
|
||||||
config.transition = 'linear';
|
config.transition = 'linear';
|
||||||
}
|
}
|
||||||
|
|
||||||
if( config.controls ) {
|
if( config.controls && dom.controls ) {
|
||||||
dom.controls.style.display = 'block';
|
dom.controls.style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,10 +160,12 @@ var Reveal = (function(){
|
||||||
document.addEventListener( 'touchend', onDocumentTouchEnd, false );
|
document.addEventListener( 'touchend', onDocumentTouchEnd, false );
|
||||||
window.addEventListener( 'hashchange', onWindowHashChange, false );
|
window.addEventListener( 'hashchange', onWindowHashChange, false );
|
||||||
|
|
||||||
dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false );
|
if ( config.controls && dom.controls ) {
|
||||||
dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false );
|
dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false );
|
||||||
dom.controlsUp.addEventListener( 'click', preventAndForward( navigateUp ), false );
|
dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false );
|
||||||
dom.controlsDown.addEventListener( 'click', preventAndForward( navigateDown ), false );
|
dom.controlsUp.addEventListener( 'click', preventAndForward( navigateUp ), false );
|
||||||
|
dom.controlsDown.addEventListener( 'click', preventAndForward( navigateDown ), false );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeEventListeners() {
|
function removeEventListeners() {
|
||||||
|
@ -170,10 +175,12 @@ var Reveal = (function(){
|
||||||
document.removeEventListener( 'touchend', onDocumentTouchEnd, false );
|
document.removeEventListener( 'touchend', onDocumentTouchEnd, false );
|
||||||
window.removeEventListener( 'hashchange', onWindowHashChange, false );
|
window.removeEventListener( 'hashchange', onWindowHashChange, false );
|
||||||
|
|
||||||
dom.controlsLeft.removeEventListener( 'click', preventAndForward( navigateLeft ), false );
|
if ( config.controls && dom.controls ) {
|
||||||
dom.controlsRight.removeEventListener( 'click', preventAndForward( navigateRight ), false );
|
dom.controlsLeft.removeEventListener( 'click', preventAndForward( navigateLeft ), false );
|
||||||
dom.controlsUp.removeEventListener( 'click', preventAndForward( navigateUp ), false );
|
dom.controlsRight.removeEventListener( 'click', preventAndForward( navigateRight ), false );
|
||||||
dom.controlsDown.removeEventListener( 'click', preventAndForward( navigateDown ), 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.
|
* Updates the state and link pointers of the controls.
|
||||||
*/
|
*/
|
||||||
function updateControls() {
|
function updateControls() {
|
||||||
|
if ( !config.controls || !dom.controls ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var routes = availableRoutes();
|
var routes = availableRoutes();
|
||||||
|
|
||||||
// Remove the 'enabled' class from all directions
|
// Remove the 'enabled' class from all directions
|
||||||
|
|
Loading…
Reference in New Issue