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:
MichiK 2015-11-19 13:00:01 +01:00
parent c0afa01e6a
commit 4a45557b57
2 changed files with 9 additions and 15 deletions

View file

@ -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.

View file

@ -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();
} }
/** /**