From 2962325fd1e5c7a1fe723a7eea8534ed1626bc6c Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sat, 9 Feb 2013 19:04:17 -0500 Subject: stop auto-slide on pause and overview (closes #320) --- js/reveal.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'js/reveal.js') diff --git a/js/reveal.js b/js/reveal.js index d97d77a..dd23d99 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -675,6 +675,9 @@ var Reveal = (function(){ // Only proceed if enabled in config if( config.overview ) { + // Don't auto-slide while in overview mode + cancelAutoSlide(); + var wasActive = dom.wrapper.classList.contains( 'overview' ); dom.wrapper.classList.add( 'overview' ); @@ -794,6 +797,8 @@ var Reveal = (function(){ slide( indexh, indexv ); + cueAutoSlide(); + // Notify observers of the overview hiding dispatchEvent( 'overviewhidden', { 'indexh': indexh, @@ -862,6 +867,7 @@ var Reveal = (function(){ */ function pause() { + cancelAutoSlide(); dom.wrapper.classList.add( 'paused' ); } @@ -871,6 +877,7 @@ var Reveal = (function(){ */ function resume() { + cueAutoSlide(); dom.wrapper.classList.remove( 'paused' ); } @@ -1424,12 +1431,21 @@ var Reveal = (function(){ clearTimeout( autoSlideTimeout ); // Cue the next auto-slide if enabled - if( autoSlide ) { + if( autoSlide && !isPaused() && !isOverviewActive() ) { autoSlideTimeout = setTimeout( navigateNext, autoSlide ); } } + /** + * Cancels any ongoing request to auto-slide. + */ + function cancelAutoSlide() { + + clearTimeout( autoSlideTimeout ); + + } + function navigateLeft() { // Prioritize hiding fragments -- cgit v1.2.3