1
0
Fork 0

added autoSlide option (#59), clear out list of options in index.html's initialize call

This commit is contained in:
Hakim El Hattab 2012-07-15 19:21:47 -04:00
parent de2a95d0ac
commit cd3fc43e77
3 changed files with 62 additions and 33 deletions

View file

@ -26,7 +26,7 @@ Markup heirarchy needs to be ``<div id="reveal"> <div class="slides"> <section>`
### Configuration ### Configuration
At the end of your page, after ``<script src="js/reveal.js"></script>``, you need to initialize reveal by running the following code. Note that all config values are optional. At the end of your page, after ``<script src="js/reveal.js"></script>``, you need to initialize reveal by running the following code. Note that all config values are optional and will default as specified below.
```javascript ```javascript
Reveal.initialize({ Reveal.initialize({
@ -36,13 +36,17 @@ Reveal.initialize({
// Display a presentation progress bar // Display a presentation progress bar
progress: true, progress: true,
// If true; each slide will be pushed to the browser history // Push each slide change to the browser history
history: true, history: false,
// Loops the presentation, defaults to false // Loop the presentation
loop: false, loop: false,
// Flags if mouse wheel navigation should be enabled // 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, mouseWheel: true,
// Apply a 3D roll to links on hover // Apply a 3D roll to links on hover
@ -170,6 +174,7 @@ You can change the appearance of the speaker notes by editing the file at `plugi
- Slide notes by [rmurphey](https://github.com/rmurphey) - Slide notes by [rmurphey](https://github.com/rmurphey)
- Bumped up default font-size for code samples - Bumped up default font-size for code samples
- Added beige theme - Added beige theme
- Added 'autoSlide' config
#### 1.3 #### 1.3
- Revised keyboard shortcuts, including ESC for overview, N for next, P for previous. Thanks [mahemoff](https://github.com/mahemoff) - Revised keyboard shortcuts, including ESC for overview, N for next, P for previous. Thanks [mahemoff](https://github.com/mahemoff)

View file

@ -279,29 +279,14 @@ function linkify( selector ) {
// event.previousSlide, event.currentSlide, event.indexh, event.indexv // event.previousSlide, event.currentSlide, event.indexh, event.indexv
} ); } );
// Full list of configuration options available here:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({ Reveal.initialize({
// Display controls in the bottom right corner
controls: true, controls: true,
// Display a presentation progress bar
progress: true, progress: true,
// If true; each slide will be pushed to the browser history
history: true, history: true,
// Loops the presentation, defaults to false
loop: false,
// Flags if mouse wheel navigation should be enabled
mouseWheel: true,
// Apply a 3D roll to links on hover
rollingLinks: true,
// UI style
theme: query.theme || 'default', // default/neon/beige theme: query.theme || 'default', // default/neon/beige
// Transition style
transition: query.transition || 'default' // default/cube/page/concave/linear(2d) transition: query.transition || 'default' // default/cube/page/concave/linear(2d)
}); });
} ); } );

View file

@ -16,16 +16,35 @@ var Reveal = (function(){
indexh = 0, indexh = 0,
indexv = 0, indexv = 0,
// Configurations options, can be overridden at initialization time // Configurations defaults, can be overridden at initialization time
config = { config = {
// Display controls in the bottom right corner
controls: true, controls: true,
progress: false,
// Display a presentation progress bar
progress: true,
// Push each slide change to the browser history
history: false, history: false,
// Loop the presentation
loop: false, 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, mouseWheel: true,
// Apply a 3D roll to links on hover
rollingLinks: true, 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 // Slides may hold a data-state attribute which we pick up and apply
@ -55,6 +74,9 @@ var Reveal = (function(){
// Throttles mouse wheel navigation // Throttles mouse wheel navigation
mouseWheelTimeout = 0, 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 // Delays updates to the URL due to a Chrome thumbnailer bug
writeURLTimeout = 0, writeURLTimeout = 0,
@ -107,6 +129,9 @@ var Reveal = (function(){
// Read the initial hash // Read the initial hash
readURL(); readURL();
// Start auto-sliding if it's enabled
cueAutoSlide();
// Set up hiding of the browser address bar // Set up hiding of the browser address bar
if( navigator.userAgent.match( /(iphone|ipod|android)/i ) ) { if( navigator.userAgent.match( /(iphone|ipod|android)/i ) ) {
// Give the page some scrollable overflow // Give the page some scrollable overflow
@ -121,8 +146,8 @@ var Reveal = (function(){
} }
function configure() { function configure() {
// Fall back on the 2D transform theme 'linear'
if( supports3DTransforms === false ) { if( supports3DTransforms === false ) {
// Fall back on the 2D transform theme 'linear'
config.transition = 'linear'; config.transition = 'linear';
} }
@ -269,20 +294,21 @@ var Reveal = (function(){
case 13: if( overviewIsActive() ) { deactivateOverview(); triggered = true; } break; 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 ) { if( triggered ) {
event.preventDefault(); event.preventDefault();
} }
else if ( event.keyCode === 27 && supports3DTransforms ) { else if ( event.keyCode === 27 && supports3DTransforms ) {
if( overviewIsActive() ) { toggleOverview();
deactivateOverview();
}
else {
activateOverview();
}
event.preventDefault(); event.preventDefault();
} }
// If auto-sliding is enabled we need to cue up
// another timeout
cueAutoSlide();
} }
/** /**
@ -840,6 +866,15 @@ var Reveal = (function(){
return false; 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. * Triggers a navigation to the specified indices.
@ -909,6 +944,10 @@ var Reveal = (function(){
if( nextFragment() === false ) { if( nextFragment() === false ) {
availableRoutes().down ? navigateDown() : navigateRight(); availableRoutes().down ? navigateDown() : navigateRight();
} }
// If auto-sliding is enabled we need to cue up
// another timeout
cueAutoSlide();
} }
/** /**