added autoSlide option (#59), clear out list of options in index.html's initialize call
This commit is contained in:
		
							
								
								
									
										61
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -16,16 +16,35 @@ var Reveal = (function(){ | ||||
| 		indexh = 0, | ||||
| 		indexv = 0, | ||||
|  | ||||
| 		// Configurations options, can be overridden at initialization time  | ||||
| 		// Configurations defaults, can be overridden at initialization time  | ||||
| 		config = { | ||||
| 			// Display controls in the bottom right corner | ||||
| 			controls: true, | ||||
| 			progress: false, | ||||
|  | ||||
| 			// Display a presentation progress bar | ||||
| 			progress: true, | ||||
|  | ||||
| 			// Push each slide change to the browser history | ||||
| 			history: false, | ||||
|  | ||||
| 			// Loop the presentation | ||||
| 			loop: false, | ||||
|  | ||||
| 			// Number of milliseconds between automatically proceeding to the  | ||||
| 			// next slide, disabled when set to 0 | ||||
| 			autoSlide: 0, | ||||
|  | ||||
| 			// Enable slide navigation via mouse wheel | ||||
| 			mouseWheel: true, | ||||
|  | ||||
| 			// Apply a 3D roll to links on hover | ||||
| 			rollingLinks: true, | ||||
| 			transition: 'default', | ||||
| 			theme: 'default' | ||||
|  | ||||
| 			// UI style | ||||
| 			theme: 'default', // default/neon/beige | ||||
|  | ||||
| 			// Transition style | ||||
| 			transition: 'default' // default/cube/page/concave/linear(2d) | ||||
| 		}, | ||||
|  | ||||
| 		// Slides may hold a data-state attribute which we pick up and apply  | ||||
| @@ -55,6 +74,9 @@ var Reveal = (function(){ | ||||
| 		// Throttles mouse wheel navigation | ||||
| 		mouseWheelTimeout = 0, | ||||
|  | ||||
| 		// An interval used to automatically move on to the next slide | ||||
| 		autoSlideTimeout = 0, | ||||
|  | ||||
| 		// Delays updates to the URL due to a Chrome thumbnailer bug | ||||
| 		writeURLTimeout = 0, | ||||
|  | ||||
| @@ -107,6 +129,9 @@ var Reveal = (function(){ | ||||
| 		// Read the initial hash | ||||
| 		readURL(); | ||||
|  | ||||
| 		// Start auto-sliding if it's enabled | ||||
| 		cueAutoSlide(); | ||||
|  | ||||
| 		// Set up hiding of the browser address bar | ||||
| 		if( navigator.userAgent.match( /(iphone|ipod|android)/i ) ) { | ||||
| 			// Give the page some scrollable overflow | ||||
| @@ -121,8 +146,8 @@ var Reveal = (function(){ | ||||
| 	} | ||||
|  | ||||
| 	function configure() { | ||||
| 		// Fall back on the 2D transform theme 'linear' | ||||
| 		if( supports3DTransforms === false ) { | ||||
| 			// Fall back on the 2D transform theme 'linear' | ||||
| 			config.transition = 'linear'; | ||||
| 		} | ||||
|  | ||||
| @@ -269,20 +294,21 @@ var Reveal = (function(){ | ||||
| 			case 13: if( overviewIsActive() ) { deactivateOverview(); triggered = true; } break; | ||||
| 		} | ||||
|  | ||||
| 		// If the input resulted in a triggered action we should prevent  | ||||
| 		// the browsers default behavior | ||||
| 		if( triggered ) { | ||||
| 			event.preventDefault(); | ||||
| 		} | ||||
| 		else if ( event.keyCode === 27 && supports3DTransforms ) { | ||||
| 			if( overviewIsActive() ) { | ||||
| 				deactivateOverview(); | ||||
| 			} | ||||
| 			else { | ||||
| 				activateOverview(); | ||||
| 			} | ||||
| 			toggleOverview(); | ||||
| 	 | ||||
| 			event.preventDefault(); | ||||
| 		} | ||||
|  | ||||
| 		// If auto-sliding is enabled we need to cue up  | ||||
| 		// another timeout | ||||
| 		cueAutoSlide(); | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| @@ -840,6 +866,15 @@ var Reveal = (function(){ | ||||
| 		 | ||||
| 		return false; | ||||
| 	} | ||||
|  | ||||
| 	function cueAutoSlide() { | ||||
| 		clearTimeout( autoSlideTimeout ); | ||||
|  | ||||
| 		// Cue the next auto-slide if enabled | ||||
| 		if( config.autoSlide ) { | ||||
| 			autoSlideTimeout = setTimeout( navigateNext, config.autoSlide ); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Triggers a navigation to the specified indices. | ||||
| @@ -909,6 +944,10 @@ var Reveal = (function(){ | ||||
| 		if( nextFragment() === false ) { | ||||
| 			availableRoutes().down ? navigateDown() : navigateRight(); | ||||
| 		} | ||||
|  | ||||
| 		// If auto-sliding is enabled we need to cue up  | ||||
| 		// another timeout | ||||
| 		cueAutoSlide(); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user