aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorHakim El Hattab <hakim.elhattab@gmail.com>2012-07-15 19:21:47 -0400
committerHakim El Hattab <hakim.elhattab@gmail.com>2012-07-15 19:21:47 -0400
commitcd3fc43e77e7fc41ca13655eccaf97d3b36a1c4c (patch)
tree04d93d0c5f5cd5100477cae2b6cb6eb0ee275eac /js
parentde2a95d0ac2586cd46d29a3915bbfeea4f1ec335 (diff)
downloadperl-software-in-gnu-guix-cd3fc43e77e7fc41ca13655eccaf97d3b36a1c4c.tar
perl-software-in-gnu-guix-cd3fc43e77e7fc41ca13655eccaf97d3b36a1c4c.tar.gz
added autoSlide option (#59), clear out list of options in index.html's initialize call
Diffstat (limited to 'js')
-rw-r--r--js/reveal.js61
1 files changed, 50 insertions, 11 deletions
diff --git a/js/reveal.js b/js/reveal.js
index 856b1aa..9276da3 100644
--- a/js/reveal.js
+++ b/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();
}
/**