소스 검색

Merge pull request #1437 from der-michik/autoslide-direction

Add an option to auto-slide right only
Hakim El Hattab 9 년 전
부모
커밋
bbe38ad263
2개의 변경된 파일9개의 추가작업 그리고 5개의 파일을 삭제
  1. 5 0
      README.md
  2. 4 5
      js/reveal.js

+ 5 - 0
README.md

@@ -152,6 +152,9 @@ Reveal.initialize({
 	// Stop auto-sliding after user input
 	autoSlideStoppable: true,
 
+	// Use this method for navigation when auto-sliding
+	autoSlideMethod: Reveal.navigateNext,
+
 	// Enable slide navigation via mouse wheel
 	mouseWheel: false,
 
@@ -297,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.
 
 

+ 4 - 5
js/reveal.js

@@ -3688,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();
 			}
 
@@ -3834,10 +3837,6 @@
 			}
 		}
 
-		// If auto-sliding is enabled we need to cue up
-		// another timeout
-		cueAutoSlide();
-
 	}
 
 	/**