clean up trailing whitespace (closes #197)
This commit is contained in:
parent
c6f8a44edf
commit
8bdeb360ce
224
js/reveal.js
224
js/reveal.js
|
@ -2,17 +2,17 @@
|
|||
* reveal.js 2.1 r35
|
||||
* http://lab.hakim.se/reveal-js
|
||||
* MIT licensed
|
||||
*
|
||||
*
|
||||
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
|
||||
*/
|
||||
var Reveal = (function(){
|
||||
|
||||
'use strict';
|
||||
|
||||
|
||||
var HORIZONTAL_SLIDES_SELECTOR = '.reveal .slides>section',
|
||||
VERTICAL_SLIDES_SELECTOR = '.reveal .slides>section.present>section',
|
||||
|
||||
// Configurations defaults, can be overridden at initialization time
|
||||
// Configurations defaults, can be overridden at initialization time
|
||||
config = {
|
||||
// Display controls in the bottom right corner
|
||||
controls: true,
|
||||
|
@ -32,7 +32,7 @@ var Reveal = (function(){
|
|||
// Loop the presentation
|
||||
loop: false,
|
||||
|
||||
// Number of milliseconds between automatically proceeding to the
|
||||
// Number of milliseconds between automatically proceeding to the
|
||||
// next slide, disabled when set to 0, this value can be overwritten
|
||||
// by using a data-autoslide attribute on your slides
|
||||
autoSlide: 0,
|
||||
|
@ -44,7 +44,7 @@ var Reveal = (function(){
|
|||
rollingLinks: true,
|
||||
|
||||
// Transition style (see /css/theme)
|
||||
theme: null,
|
||||
theme: null,
|
||||
|
||||
// Transition style
|
||||
transition: 'default', // default/cube/page/concave/zoom/linear/none
|
||||
|
@ -65,8 +65,8 @@ var Reveal = (function(){
|
|||
previousSlide,
|
||||
currentSlide,
|
||||
|
||||
// Slides may hold a data-state attribute which we pick up and apply
|
||||
// as a class to the body. This list contains the combined state of
|
||||
// Slides may hold a data-state attribute which we pick up and apply
|
||||
// as a class to the body. This list contains the combined state of
|
||||
// all current slides.
|
||||
state = [],
|
||||
|
||||
|
@ -79,13 +79,13 @@ var Reveal = (function(){
|
|||
'msPerspective' in document.body.style ||
|
||||
'OPerspective' in document.body.style ||
|
||||
'perspective' in document.body.style,
|
||||
|
||||
|
||||
supports2DTransforms = 'WebkitTransform' in document.body.style ||
|
||||
'MozTransform' in document.body.style ||
|
||||
'msTransform' in document.body.style ||
|
||||
'OTransform' in document.body.style ||
|
||||
'transform' in document.body.style,
|
||||
|
||||
|
||||
// Throttles mouse wheel navigation
|
||||
mouseWheelTimeout = 0,
|
||||
|
||||
|
@ -104,7 +104,7 @@ var Reveal = (function(){
|
|||
handled: false,
|
||||
threshold: 80
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Starts up the presentation if the client is capable.
|
||||
*/
|
||||
|
@ -112,7 +112,7 @@ var Reveal = (function(){
|
|||
if( ( !supports2DTransforms && !supports3DTransforms ) ) {
|
||||
document.body.setAttribute( 'class', 'no-transforms' );
|
||||
|
||||
// If the browser doesn't support core features we won't be
|
||||
// If the browser doesn't support core features we won't be
|
||||
// using JavaScript to control the presentation
|
||||
return;
|
||||
}
|
||||
|
@ -125,12 +125,12 @@ var Reveal = (function(){
|
|||
|
||||
// Loads the dependencies and continues to #start() once done
|
||||
load();
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds and stores references to DOM elements which are
|
||||
* required by the presentation. If a required element is
|
||||
* Finds and stores references to DOM elements which are
|
||||
* required by the presentation. If a required element is
|
||||
* not found, it is created.
|
||||
*/
|
||||
function setupDOM() {
|
||||
|
@ -200,10 +200,10 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Loads the dependencies of reveal.js. Dependencies are
|
||||
* defined via the configuration option 'dependencies'
|
||||
* and will be loaded prior to starting/binding reveal.js.
|
||||
* Some dependencies may have an 'async' flag, if so they
|
||||
* Loads the dependencies of reveal.js. Dependencies are
|
||||
* defined via the configuration option 'dependencies'
|
||||
* and will be loaded prior to starting/binding reveal.js.
|
||||
* Some dependencies may have an 'async' flag, if so they
|
||||
* will load after reveal.js has been started up.
|
||||
*/
|
||||
function load() {
|
||||
|
@ -233,7 +233,7 @@ var Reveal = (function(){
|
|||
function proceed() {
|
||||
// Load asynchronous scripts
|
||||
head.js.apply( null, scriptsAsync );
|
||||
|
||||
|
||||
start();
|
||||
}
|
||||
|
||||
|
@ -249,13 +249,13 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Starts up reveal.js by binding input events and navigating
|
||||
* Starts up reveal.js by binding input events and navigating
|
||||
* to the current URL deeplink if there is one.
|
||||
*/
|
||||
function start() {
|
||||
// Make sure we've got all the DOM elements we need
|
||||
setupDOM();
|
||||
|
||||
|
||||
// Subscribe to input
|
||||
addEventListeners();
|
||||
|
||||
|
@ -340,7 +340,7 @@ var Reveal = (function(){
|
|||
dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false );
|
||||
dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false );
|
||||
dom.controlsUp.addEventListener( 'click', preventAndForward( navigateUp ), false );
|
||||
dom.controlsDown.addEventListener( 'click', preventAndForward( navigateDown ), false );
|
||||
dom.controlsDown.addEventListener( 'click', preventAndForward( navigateDown ), false );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -357,7 +357,7 @@ var Reveal = (function(){
|
|||
if ( config.progress && dom.progress ) {
|
||||
dom.progress.removeEventListener( 'click', preventAndForward( onProgressClick ), false );
|
||||
}
|
||||
|
||||
|
||||
if ( config.controls && dom.controls ) {
|
||||
dom.controlsLeft.removeEventListener( 'click', preventAndForward( navigateLeft ), false );
|
||||
dom.controlsRight.removeEventListener( 'click', preventAndForward( navigateRight ), false );
|
||||
|
@ -367,7 +367,7 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Extend object a with the properties of object b.
|
||||
* Extend object a with the properties of object b.
|
||||
* If there's a conflict, object b takes precedence.
|
||||
*/
|
||||
function extend( a, b ) {
|
||||
|
@ -378,8 +378,8 @@ var Reveal = (function(){
|
|||
|
||||
/**
|
||||
* Measures the distance in pixels between point a
|
||||
* and point b.
|
||||
*
|
||||
* and point b.
|
||||
*
|
||||
* @param {Object} a point with x/y properties
|
||||
* @param {Object} b point with x/y properties
|
||||
*/
|
||||
|
@ -391,10 +391,10 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Prevents an events defaults behavior calls the
|
||||
* Prevents an events defaults behavior calls the
|
||||
* specified delegate.
|
||||
*
|
||||
* @param {Function} delegate The method to call
|
||||
*
|
||||
* @param {Function} delegate The method to call
|
||||
* after the wrapper has been executed
|
||||
*/
|
||||
function preventAndForward( delegate ) {
|
||||
|
@ -405,7 +405,7 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Causes the address bar to hide on mobile devices,
|
||||
* Causes the address bar to hide on mobile devices,
|
||||
* more vertical space ftw.
|
||||
*/
|
||||
function removeAddressBar() {
|
||||
|
@ -415,7 +415,7 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Dispatches an event of the specified type from the
|
||||
* Dispatches an event of the specified type from the
|
||||
* reveal DOM element.
|
||||
*/
|
||||
function dispatchEvent( type, properties ) {
|
||||
|
@ -434,7 +434,7 @@ var Reveal = (function(){
|
|||
|
||||
for( var i = 0, len = nodes.length; i < len; i++ ) {
|
||||
var node = nodes[i];
|
||||
|
||||
|
||||
if( node.textContent && !node.querySelector( 'img' ) && ( !node.className || !node.classList.contains( node, 'roll' ) ) ) {
|
||||
node.classList.add( 'roll' );
|
||||
node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>';
|
||||
|
@ -444,17 +444,17 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Displays the overview of slides (quick nav) by
|
||||
* Displays the overview of slides (quick nav) by
|
||||
* scaling down and arranging all slide elements.
|
||||
*
|
||||
* Experimental feature, might be dropped if perf
|
||||
*
|
||||
* Experimental feature, might be dropped if perf
|
||||
* can't be improved.
|
||||
*/
|
||||
function activateOverview() {
|
||||
|
||||
// Only proceed if enabled in config
|
||||
if( config.overview ) {
|
||||
|
||||
|
||||
dom.wrapper.classList.add( 'overview' );
|
||||
|
||||
var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR );
|
||||
|
@ -462,7 +462,7 @@ var Reveal = (function(){
|
|||
for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) {
|
||||
var hslide = horizontalSlides[i],
|
||||
htransform = 'translateZ(-2500px) translate(' + ( ( i - indexh ) * 105 ) + '%, 0%)';
|
||||
|
||||
|
||||
hslide.setAttribute( 'data-index-h', i );
|
||||
hslide.style.display = 'block';
|
||||
hslide.style.WebkitTransform = htransform;
|
||||
|
@ -470,12 +470,12 @@ var Reveal = (function(){
|
|||
hslide.style.msTransform = htransform;
|
||||
hslide.style.OTransform = htransform;
|
||||
hslide.style.transform = htransform;
|
||||
|
||||
|
||||
if( !hslide.classList.contains( 'stack' ) ) {
|
||||
// Navigate to this slide on click
|
||||
hslide.addEventListener( 'click', onOverviewSlideClicked, true );
|
||||
}
|
||||
|
||||
|
||||
var verticalSlides = hslide.querySelectorAll( 'section' );
|
||||
|
||||
for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) {
|
||||
|
@ -494,19 +494,19 @@ var Reveal = (function(){
|
|||
// Navigate to this slide on click
|
||||
vslide.addEventListener( 'click', onOverviewSlideClicked, true );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Exits the slide overview and enters the currently
|
||||
* active slide.
|
||||
*/
|
||||
function deactivateOverview() {
|
||||
|
||||
|
||||
// Only proceed if enabled in config
|
||||
if( config.overview ) {
|
||||
|
||||
|
@ -529,15 +529,15 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
slide();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles the slide overview mode on and off.
|
||||
*
|
||||
* @param {Boolean} override Optional flag which overrides the
|
||||
* toggle logic and forcibly sets the desired state. True means
|
||||
* @param {Boolean} override Optional flag which overrides the
|
||||
* toggle logic and forcibly sets the desired state. True means
|
||||
* overview is open, false means it's closed.
|
||||
*/
|
||||
function toggleOverview( override ) {
|
||||
|
@ -551,7 +551,7 @@ var Reveal = (function(){
|
|||
|
||||
/**
|
||||
* Checks if the overview is currently active.
|
||||
*
|
||||
*
|
||||
* @return {Boolean} true if the overview is active,
|
||||
* false otherwise
|
||||
*/
|
||||
|
@ -561,26 +561,26 @@ var Reveal = (function(){
|
|||
|
||||
/**
|
||||
* Handling the fullscreen functionality via the fullscreen API
|
||||
*
|
||||
* @see http://fullscreen.spec.whatwg.org/
|
||||
* @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode
|
||||
*
|
||||
* @see http://fullscreen.spec.whatwg.org/
|
||||
* @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode
|
||||
*/
|
||||
function enterFullscreen() {
|
||||
var element = document.body;
|
||||
|
||||
|
||||
// Check which implementation is available
|
||||
var requestMethod = element.requestFullScreen ||
|
||||
element.webkitRequestFullScreen ||
|
||||
element.mozRequestFullScreen ||
|
||||
element.msRequestFullScreen;
|
||||
|
||||
|
||||
if( requestMethod ) {
|
||||
requestMethod.apply( element );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Enters the paused mode which fades everything on screen to
|
||||
* Enters the paused mode which fades everything on screen to
|
||||
* black.
|
||||
*/
|
||||
function pause() {
|
||||
|
@ -612,11 +612,11 @@ var Reveal = (function(){
|
|||
function isPaused() {
|
||||
return dom.wrapper.classList.contains( 'paused' );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Steps from the current point in the presentation to the
|
||||
* slide which matches the specified horizontal and vertical
|
||||
* indices.
|
||||
* Steps from the current point in the presentation to the
|
||||
* slide which matches the specified horizontal and vertical
|
||||
* indices.
|
||||
*
|
||||
* @param {int} h Horizontal index of the target slide
|
||||
* @param {int} v Vertical index of the target slide
|
||||
|
@ -640,7 +640,7 @@ var Reveal = (function(){
|
|||
|
||||
// Apply the new state
|
||||
stateLoop: for( var i = 0, len = state.length; i < len; i++ ) {
|
||||
// Check if this state existed on the previous slide. If it
|
||||
// Check if this state existed on the previous slide. If it
|
||||
// did, we will avoid adding it repeatedly.
|
||||
for( var j = 0; j < stateBefore.length; j++ ) {
|
||||
if( stateBefore[j] === state[i] ) {
|
||||
|
@ -671,7 +671,7 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
updateControls();
|
||||
|
||||
|
||||
// Update the URL hash after a delay since updating it mid-transition
|
||||
// is likely to cause visual lag
|
||||
clearTimeout( writeURLTimeout );
|
||||
|
@ -691,7 +691,7 @@ var Reveal = (function(){
|
|||
// Dispatch an event if the slide changed
|
||||
if( indexh !== indexhBefore || indexv !== indexvBefore ) {
|
||||
dispatchEvent( 'slidechanged', {
|
||||
'indexh': indexh,
|
||||
'indexh': indexh,
|
||||
'indexv': indexv,
|
||||
'previousSlide': previousSlide,
|
||||
'currentSlide': currentSlide
|
||||
|
@ -702,8 +702,8 @@ var Reveal = (function(){
|
|||
previousSlide = null;
|
||||
}
|
||||
|
||||
// Solves an edge case where the previous slide maintains the
|
||||
// 'present' class when navigating between adjacent vertical
|
||||
// Solves an edge case where the previous slide maintains the
|
||||
// 'present' class when navigating between adjacent vertical
|
||||
// stacks
|
||||
if( previousSlide ) {
|
||||
previousSlide.classList.remove( 'present' );
|
||||
|
@ -713,14 +713,14 @@ var Reveal = (function(){
|
|||
/**
|
||||
* Updates one dimension of slides by showing the slide
|
||||
* with the specified index.
|
||||
*
|
||||
*
|
||||
* @param {String} selector A CSS selector that will fetch
|
||||
* the group of slides we are working with
|
||||
* @param {Number} index The index of the slide that should be
|
||||
* shown
|
||||
*
|
||||
*
|
||||
* @return {Number} The index of the slide that is now shown,
|
||||
* might differ from the passed in index if it was out of
|
||||
* might differ from the passed in index if it was out of
|
||||
* bounds.
|
||||
*/
|
||||
function updateSlides( selector, index ) {
|
||||
|
@ -728,7 +728,7 @@ var Reveal = (function(){
|
|||
// an array
|
||||
var slides = Array.prototype.slice.call( document.querySelectorAll( selector ) ),
|
||||
slidesLength = slides.length;
|
||||
|
||||
|
||||
if( slidesLength ) {
|
||||
|
||||
// Should the index loop?
|
||||
|
@ -739,14 +739,14 @@ var Reveal = (function(){
|
|||
index = slidesLength + index;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Enforce max and minimum index bounds
|
||||
index = Math.max( Math.min( index, slidesLength - 1 ), 0 );
|
||||
|
||||
|
||||
for( var i = 0; i < slidesLength; i++ ) {
|
||||
var element = slides[i];
|
||||
|
||||
// Optimization; hide all slides that are three or more steps
|
||||
// Optimization; hide all slides that are three or more steps
|
||||
// away from the present slide
|
||||
if( isOverviewActive() === false ) {
|
||||
// The distance loops so that it measures 1 between the first
|
||||
|
@ -785,7 +785,7 @@ var Reveal = (function(){
|
|||
state = state.concat( slideState.split( ' ' ) );
|
||||
}
|
||||
|
||||
// If this slide has a data-autoslide attribtue associated use this as
|
||||
// If this slide has a data-autoslide attribtue associated use this as
|
||||
// autoSlide value otherwise use the global configured time
|
||||
var slideAutoSlide = slides[index].getAttribute( 'data-autoslide' );
|
||||
if( slideAutoSlide ) {
|
||||
|
@ -796,13 +796,13 @@ var Reveal = (function(){
|
|||
|
||||
}
|
||||
else {
|
||||
// Since there are no slides we can't be anywhere beyond the
|
||||
// Since there are no slides we can't be anywhere beyond the
|
||||
// zeroth index
|
||||
index = 0;
|
||||
}
|
||||
|
||||
|
||||
return index;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -810,7 +810,7 @@ var Reveal = (function(){
|
|||
*/
|
||||
function updateControls() {
|
||||
if ( config.controls && dom.controls ) {
|
||||
|
||||
|
||||
var routes = availableRoutes();
|
||||
|
||||
// Remove the 'enabled' class from all directions
|
||||
|
@ -829,7 +829,7 @@ var Reveal = (function(){
|
|||
|
||||
/**
|
||||
* Determine what available routes there are for navigation.
|
||||
*
|
||||
*
|
||||
* @return {Object} containing four booleans: left/right/up/down
|
||||
*/
|
||||
function availableRoutes() {
|
||||
|
@ -843,7 +843,7 @@ var Reveal = (function(){
|
|||
down: indexv < verticalSlides.length - 1
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reads the current URL (hash) and navigates accordingly.
|
||||
*/
|
||||
|
@ -854,7 +854,7 @@ var Reveal = (function(){
|
|||
var bits = hash.slice( 2 ).split( '/' ),
|
||||
name = hash.replace( /#|\//gi, '' );
|
||||
|
||||
// If the first bit is invalid and there is a name we can
|
||||
// If the first bit is invalid and there is a name we can
|
||||
// assume that this is a named link
|
||||
if( isNaN( parseInt( bits[0], 10 ) ) && name.length ) {
|
||||
// Find the slide with the specified name
|
||||
|
@ -878,32 +878,32 @@ var Reveal = (function(){
|
|||
slide( h, v );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the page URL (hash) to reflect the current
|
||||
* state.
|
||||
* state.
|
||||
*/
|
||||
function writeURL() {
|
||||
if( config.history ) {
|
||||
var url = '/';
|
||||
|
||||
|
||||
// Only include the minimum possible number of components in
|
||||
// the URL
|
||||
if( indexh > 0 || indexv > 0 ) url += indexh;
|
||||
if( indexv > 0 ) url += '/' + indexv;
|
||||
|
||||
|
||||
window.location.hash = url;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the h/v location of the current, or specified,
|
||||
* Retrieves the h/v location of the current, or specified,
|
||||
* slide.
|
||||
*
|
||||
* @param {HTMLElement} slide If specified, the returned
|
||||
* index will be for this slide rather than the currently
|
||||
*
|
||||
* @param {HTMLElement} slide If specified, the returned
|
||||
* index will be for this slide rather than the currently
|
||||
* active one
|
||||
*
|
||||
*
|
||||
* @return {Object} { h: <int>, v: <int> }
|
||||
*/
|
||||
function getIndices( slide ) {
|
||||
|
@ -933,7 +933,7 @@ var Reveal = (function(){
|
|||
|
||||
/**
|
||||
* Navigate to the next slide fragment.
|
||||
*
|
||||
*
|
||||
* @return {Boolean} true if there was a next fragment,
|
||||
* false otherwise
|
||||
*/
|
||||
|
@ -966,7 +966,7 @@ var Reveal = (function(){
|
|||
|
||||
/**
|
||||
* Navigate to the previous slide fragment.
|
||||
*
|
||||
*
|
||||
* @return {Boolean} true if there was a previous fragment,
|
||||
* false otherwise
|
||||
*/
|
||||
|
@ -993,7 +993,7 @@ var Reveal = (function(){
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1008,7 +1008,7 @@ var Reveal = (function(){
|
|||
autoSlideTimeout = setTimeout( navigateNext, autoSlide );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function navigateLeft() {
|
||||
// Prioritize hiding fragments
|
||||
if( isOverviewActive() || previousFragment() === false ) {
|
||||
|
@ -1071,7 +1071,7 @@ var Reveal = (function(){
|
|||
availableRoutes().down ? navigateDown() : navigateRight();
|
||||
}
|
||||
|
||||
// If auto-sliding is enabled we need to cue up
|
||||
// If auto-sliding is enabled we need to cue up
|
||||
// another timeout
|
||||
cueAutoSlide();
|
||||
}
|
||||
|
@ -1084,11 +1084,11 @@ var Reveal = (function(){
|
|||
|
||||
/**
|
||||
* Handler for the document level 'keydown' event.
|
||||
*
|
||||
*
|
||||
* @param {Object} event
|
||||
*/
|
||||
function onDocumentKeyDown( event ) {
|
||||
// Disregard the event if the target is editable or a
|
||||
// Disregard the event if the target is editable or a
|
||||
// modifier is present
|
||||
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;
|
||||
|
||||
|
@ -1096,7 +1096,7 @@ var Reveal = (function(){
|
|||
|
||||
switch( event.keyCode ) {
|
||||
// p, page up
|
||||
case 80: case 33: navigatePrev(); break;
|
||||
case 80: case 33: navigatePrev(); break;
|
||||
// n, page down
|
||||
case 78: case 34: navigateNext(); break;
|
||||
// h, left
|
||||
|
@ -1123,18 +1123,18 @@ var Reveal = (function(){
|
|||
triggered = false;
|
||||
}
|
||||
|
||||
// If the input resulted in a triggered action we should prevent
|
||||
// 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 ) {
|
||||
toggleOverview();
|
||||
|
||||
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
// If auto-sliding is enabled we need to cue up
|
||||
// If auto-sliding is enabled we need to cue up
|
||||
// another timeout
|
||||
cueAutoSlide();
|
||||
|
||||
|
@ -1149,7 +1149,7 @@ var Reveal = (function(){
|
|||
touch.startY = event.touches[0].clientY;
|
||||
touch.startCount = event.touches.length;
|
||||
|
||||
// If there's two touches we need to memorize the distance
|
||||
// If there's two touches we need to memorize the distance
|
||||
// between those two points to detect pinching
|
||||
if( event.touches.length === 2 && config.overview ) {
|
||||
touch.startSpan = distanceBetween( {
|
||||
|
@ -1161,7 +1161,7 @@ var Reveal = (function(){
|
|||
} );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handler for the document level 'touchmove' event.
|
||||
*/
|
||||
|
@ -1171,7 +1171,7 @@ var Reveal = (function(){
|
|||
var currentX = event.touches[0].clientX;
|
||||
var currentY = event.touches[0].clientY;
|
||||
|
||||
// If the touch started off with two points and still has
|
||||
// If the touch started off with two points and still has
|
||||
// two active touches; test for the pinch gesture
|
||||
if( event.touches.length === 2 && touch.startCount === 2 && config.overview ) {
|
||||
|
||||
|
@ -1184,7 +1184,7 @@ var Reveal = (function(){
|
|||
y: touch.startY
|
||||
} );
|
||||
|
||||
// If the span is larger than the desire amount we've got
|
||||
// If the span is larger than the desire amount we've got
|
||||
// ourselves a pinch
|
||||
if( Math.abs( touch.startSpan - currentSpan ) > touch.threshold ) {
|
||||
touch.handled = true;
|
||||
|
@ -1209,15 +1209,15 @@ var Reveal = (function(){
|
|||
if( deltaX > touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) {
|
||||
touch.handled = true;
|
||||
navigateLeft();
|
||||
}
|
||||
}
|
||||
else if( deltaX < -touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) {
|
||||
touch.handled = true;
|
||||
navigateRight();
|
||||
}
|
||||
}
|
||||
else if( deltaY > touch.threshold ) {
|
||||
touch.handled = true;
|
||||
navigateUp();
|
||||
}
|
||||
}
|
||||
else if( deltaY < -touch.threshold ) {
|
||||
touch.handled = true;
|
||||
navigateDown();
|
||||
|
@ -1227,7 +1227,7 @@ var Reveal = (function(){
|
|||
|
||||
}
|
||||
}
|
||||
// There's a bug with swiping on some Android devices unless
|
||||
// There's a bug with swiping on some Android devices unless
|
||||
// the default action is always prevented
|
||||
else if( navigator.userAgent.match( /android/gi ) ) {
|
||||
event.preventDefault();
|
||||
|
@ -1242,7 +1242,7 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Handles mouse wheel scrolling, throttled to avoid skipping
|
||||
* Handles mouse wheel scrolling, throttled to avoid skipping
|
||||
* multiple slides.
|
||||
*/
|
||||
function onDocumentMouseScroll( event ){
|
||||
|
@ -1260,7 +1260,7 @@ var Reveal = (function(){
|
|||
}
|
||||
|
||||
/**
|
||||
* Clicking on the progress bar results in a navigation to the
|
||||
* Clicking on the progress bar results in a navigation to the
|
||||
* closest approximate horizontal slide using this equation:
|
||||
*
|
||||
* ( clickX / presentationWidth ) * numberOfSlides
|
||||
|
@ -1271,10 +1271,10 @@ var Reveal = (function(){
|
|||
|
||||
slide( slideIndex );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handler for the window level 'hashchange' event.
|
||||
*
|
||||
*
|
||||
* @param {Object} event
|
||||
*/
|
||||
function onWindowHashChange( event ) {
|
||||
|
@ -1285,7 +1285,7 @@ var Reveal = (function(){
|
|||
* Invoked when a slide is and we're in the overview.
|
||||
*/
|
||||
function onOverviewSlideClicked( event ) {
|
||||
// TODO There's a bug here where the event listeners are not
|
||||
// TODO There's a bug here where the event listeners are not
|
||||
// removed after deactivating the overview.
|
||||
if( isOverviewActive() ) {
|
||||
event.preventDefault();
|
||||
|
@ -1299,7 +1299,7 @@ var Reveal = (function(){
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// --------------------------------------------------------------------//
|
||||
// ------------------------------- API --------------------------------//
|
||||
// --------------------------------------------------------------------//
|
||||
|
@ -1307,7 +1307,7 @@ var Reveal = (function(){
|
|||
|
||||
return {
|
||||
initialize: initialize,
|
||||
|
||||
|
||||
// Navigation methods
|
||||
slide: slide,
|
||||
left: navigateLeft,
|
||||
|
@ -1369,5 +1369,5 @@ var Reveal = (function(){
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
})();
|
2
js/reveal.min.js
vendored
2
js/reveal.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -39,7 +39,7 @@ var RevealNotes = (function() {
|
|||
notesPopup.postMessage( JSON.stringify( slideData ), '*' );
|
||||
}
|
||||
|
||||
// The main presentation is kept in sync when navigating the
|
||||
// The main presentation is kept in sync when navigating the
|
||||
// note slides so that the popup may be used as a remote
|
||||
window.addEventListener( 'message', function( event ) {
|
||||
var data = JSON.parse( event.data );
|
||||
|
@ -60,7 +60,7 @@ var RevealNotes = (function() {
|
|||
|
||||
// Open the notes when the 's' key is hit
|
||||
document.addEventListener( 'keydown', function( event ) {
|
||||
// Disregard the event if the target is editable or a
|
||||
// Disregard the event if the target is editable or a
|
||||
// modifier is present
|
||||
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user