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
 | 
						// Stop auto-sliding after user input
 | 
				
			||||||
	autoSlideStoppable: true,
 | 
						autoSlideStoppable: true,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// When auto-sliding is active, do always proceed to the right
 | 
						// Use this method for navigation when auto-sliding
 | 
				
			||||||
	// instead of the next slide which may be below (useful for
 | 
						autoSlideMethod: Reveal.navigateNext,
 | 
				
			||||||
	// infinite loop presentations with hidden "bonus slides")
 | 
					 | 
				
			||||||
	autoSlideRight: false,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Enable slide navigation via mouse wheel
 | 
						// Enable slide navigation via mouse wheel
 | 
				
			||||||
	mouseWheel: false,
 | 
						mouseWheel: false,
 | 
				
			||||||
@@ -302,6 +300,8 @@ You can also override the slide duration for individual slides and fragments by
 | 
				
			|||||||
</section>
 | 
					</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.
 | 
					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
 | 
								// Stop auto-sliding after user input
 | 
				
			||||||
			autoSlideStoppable: true,
 | 
								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
 | 
								// Enable slide navigation via mouse wheel
 | 
				
			||||||
			mouseWheel: false,
 | 
								mouseWheel: false,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -3693,7 +3688,10 @@
 | 
				
			|||||||
			// - The overview isn't active
 | 
								// - The overview isn't active
 | 
				
			||||||
			// - The presentation isn't over
 | 
								// - The presentation isn't over
 | 
				
			||||||
			if( autoSlide && !autoSlidePaused && !isPaused() && !isOverview() && ( !Reveal.isLastSlide() || availableFragments().next || config.loop === true ) ) {
 | 
								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();
 | 
									autoSlideStartTime = Date.now();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -3828,7 +3826,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		// Prioritize revealing fragments
 | 
							// Prioritize revealing fragments
 | 
				
			||||||
		if( nextFragment() === false ) {
 | 
							if( nextFragment() === false ) {
 | 
				
			||||||
			if( availableRoutes().down && !( autoSlide && config.autoSlideRight ) ) {
 | 
								if( availableRoutes().down ) {
 | 
				
			||||||
				navigateDown();
 | 
									navigateDown();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			else if( config.rtl ) {
 | 
								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