Add a more flexible autoSlideMethod option
Auto-sliding will now use the method specified in the config if it is a function or default to navigateNext.
This commit is contained in:
		@@ -152,10 +152,8 @@ Reveal.initialize({
 | 
			
		||||
	// Stop auto-sliding after user input
 | 
			
		||||
	autoSlideStoppable: true,
 | 
			
		||||
 | 
			
		||||
	// When auto-sliding is active, do always proceed to the right
 | 
			
		||||
	// instead of the next slide which may be below (useful for
 | 
			
		||||
	// infinite loop presentations with hidden "bonus slides")
 | 
			
		||||
	autoSlideRight: false,
 | 
			
		||||
	// Use this method for navigation when auto-sliding
 | 
			
		||||
	autoSlideMethod: Reveal.navigateNext,
 | 
			
		||||
 | 
			
		||||
	// Enable slide navigation via mouse wheel
 | 
			
		||||
	mouseWheel: false,
 | 
			
		||||
@@ -302,6 +300,8 @@ You can also override the slide duration for individual slides and fragments by
 | 
			
		||||
</section>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To override the method used for navigation when auto-sliding, you can specify the ```autoSlideMethod``` setting. To only navigate along the top layer and ignore vertical slides, set this to ```Reveal.navigateRight```.
 | 
			
		||||
 | 
			
		||||
Whenever the auto-slide mode is resumed or paused the ```autoslideresumed``` and ```autoslidepaused``` events are fired.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								js/reveal.js
									
									
									
									
									
								
							@@ -103,11 +103,6 @@
 | 
			
		||||
			// Stop auto-sliding after user input
 | 
			
		||||
			autoSlideStoppable: true,
 | 
			
		||||
 | 
			
		||||
			// When auto-sliding is active, do always proceed to the right
 | 
			
		||||
			// instead of the next slide which may be below (useful for
 | 
			
		||||
			// infinite loop presentations with hidden "bonus slides")
 | 
			
		||||
			autoSlideRight: false,
 | 
			
		||||
 | 
			
		||||
			// Enable slide navigation via mouse wheel
 | 
			
		||||
			mouseWheel: false,
 | 
			
		||||
 | 
			
		||||
@@ -3693,7 +3688,10 @@
 | 
			
		||||
			// - The overview isn't active
 | 
			
		||||
			// - The presentation isn't over
 | 
			
		||||
			if( autoSlide && !autoSlidePaused && !isPaused() && !isOverview() && ( !Reveal.isLastSlide() || availableFragments().next || config.loop === true ) ) {
 | 
			
		||||
				autoSlideTimeout = setTimeout( navigateNext, autoSlide );
 | 
			
		||||
				autoSlideTimeout = setTimeout( function() {
 | 
			
		||||
					typeof config.autoSlideMethod == 'function' ? config.autoSlideMethod() : navigateNext();
 | 
			
		||||
					cueAutoSlide();
 | 
			
		||||
				}, autoSlide );
 | 
			
		||||
				autoSlideStartTime = Date.now();
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@@ -3828,7 +3826,7 @@
 | 
			
		||||
 | 
			
		||||
		// Prioritize revealing fragments
 | 
			
		||||
		if( nextFragment() === false ) {
 | 
			
		||||
			if( availableRoutes().down && !( autoSlide && config.autoSlideRight ) ) {
 | 
			
		||||
			if( availableRoutes().down ) {
 | 
			
		||||
				navigateDown();
 | 
			
		||||
			}
 | 
			
		||||
			else if( config.rtl ) {
 | 
			
		||||
@@ -3839,10 +3837,6 @@
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// If auto-sliding is enabled we need to cue up
 | 
			
		||||
		// another timeout
 | 
			
		||||
		cueAutoSlide();
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user