|
@@ -74,6 +74,9 @@ var Reveal = (function(){
|
|
|
|
|
|
rollingLinks: false,
|
|
|
|
|
|
+
|
|
|
+ hideAddressBar: true,
|
|
|
+
|
|
|
|
|
|
previewLinks: false,
|
|
|
|
|
@@ -353,17 +356,15 @@ var Reveal = (function(){
|
|
|
createSingletonNode( dom.wrapper, 'div', 'pause-overlay', null );
|
|
|
|
|
|
|
|
|
- if ( config.controls ) {
|
|
|
- dom.controls = document.querySelector( '.reveal .controls' );
|
|
|
+ dom.controls = document.querySelector( '.reveal .controls' );
|
|
|
|
|
|
-
|
|
|
- dom.controlsLeft = toArray( document.querySelectorAll( '.navigate-left' ) );
|
|
|
- dom.controlsRight = toArray( document.querySelectorAll( '.navigate-right' ) );
|
|
|
- dom.controlsUp = toArray( document.querySelectorAll( '.navigate-up' ) );
|
|
|
- dom.controlsDown = toArray( document.querySelectorAll( '.navigate-down' ) );
|
|
|
- dom.controlsPrev = toArray( document.querySelectorAll( '.navigate-prev' ) );
|
|
|
- dom.controlsNext = toArray( document.querySelectorAll( '.navigate-next' ) );
|
|
|
- }
|
|
|
+
|
|
|
+ dom.controlsLeft = toArray( document.querySelectorAll( '.navigate-left' ) );
|
|
|
+ dom.controlsRight = toArray( document.querySelectorAll( '.navigate-right' ) );
|
|
|
+ dom.controlsUp = toArray( document.querySelectorAll( '.navigate-up' ) );
|
|
|
+ dom.controlsDown = toArray( document.querySelectorAll( '.navigate-down' ) );
|
|
|
+ dom.controlsPrev = toArray( document.querySelectorAll( '.navigate-prev' ) );
|
|
|
+ dom.controlsNext = toArray( document.querySelectorAll( '.navigate-next' ) );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -491,13 +492,8 @@ var Reveal = (function(){
|
|
|
dom.wrapper.setAttribute( 'data-transition-speed', config.transitionSpeed );
|
|
|
dom.wrapper.setAttribute( 'data-background-transition', config.backgroundTransition );
|
|
|
|
|
|
- if( dom.controls ) {
|
|
|
- dom.controls.style.display = ( config.controls && dom.controls ) ? 'block' : 'none';
|
|
|
- }
|
|
|
-
|
|
|
- if( dom.progress ) {
|
|
|
- dom.progress.style.display = ( config.progress && dom.progress ) ? 'block' : 'none';
|
|
|
- }
|
|
|
+ dom.controls.style.display = config.controls ? 'block' : 'none';
|
|
|
+ dom.progress.style.display = config.progress ? 'block' : 'none';
|
|
|
|
|
|
if( config.rtl ) {
|
|
|
dom.wrapper.classList.add( 'rtl' );
|
|
@@ -586,16 +582,14 @@ var Reveal = (function(){
|
|
|
dom.progress.addEventListener( 'click', onProgressClicked, false );
|
|
|
}
|
|
|
|
|
|
- if ( config.controls && dom.controls ) {
|
|
|
- [ 'touchstart', 'click' ].forEach( function( eventName ) {
|
|
|
- dom.controlsLeft.forEach( function( el ) { el.addEventListener( eventName, onNavigateLeftClicked, false ); } );
|
|
|
- dom.controlsRight.forEach( function( el ) { el.addEventListener( eventName, onNavigateRightClicked, false ); } );
|
|
|
- dom.controlsUp.forEach( function( el ) { el.addEventListener( eventName, onNavigateUpClicked, false ); } );
|
|
|
- dom.controlsDown.forEach( function( el ) { el.addEventListener( eventName, onNavigateDownClicked, false ); } );
|
|
|
- dom.controlsPrev.forEach( function( el ) { el.addEventListener( eventName, onNavigatePrevClicked, false ); } );
|
|
|
- dom.controlsNext.forEach( function( el ) { el.addEventListener( eventName, onNavigateNextClicked, false ); } );
|
|
|
- } );
|
|
|
- }
|
|
|
+ [ 'touchstart', 'click' ].forEach( function( eventName ) {
|
|
|
+ dom.controlsLeft.forEach( function( el ) { el.addEventListener( eventName, onNavigateLeftClicked, false ); } );
|
|
|
+ dom.controlsRight.forEach( function( el ) { el.addEventListener( eventName, onNavigateRightClicked, false ); } );
|
|
|
+ dom.controlsUp.forEach( function( el ) { el.addEventListener( eventName, onNavigateUpClicked, false ); } );
|
|
|
+ dom.controlsDown.forEach( function( el ) { el.addEventListener( eventName, onNavigateDownClicked, false ); } );
|
|
|
+ dom.controlsPrev.forEach( function( el ) { el.addEventListener( eventName, onNavigatePrevClicked, false ); } );
|
|
|
+ dom.controlsNext.forEach( function( el ) { el.addEventListener( eventName, onNavigateNextClicked, false ); } );
|
|
|
+ } );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -624,16 +618,14 @@ var Reveal = (function(){
|
|
|
dom.progress.removeEventListener( 'click', onProgressClicked, false );
|
|
|
}
|
|
|
|
|
|
- if ( config.controls && dom.controls ) {
|
|
|
- [ 'touchstart', 'click' ].forEach( function( eventName ) {
|
|
|
- dom.controlsLeft.forEach( function( el ) { el.removeEventListener( eventName, onNavigateLeftClicked, false ); } );
|
|
|
- dom.controlsRight.forEach( function( el ) { el.removeEventListener( eventName, onNavigateRightClicked, false ); } );
|
|
|
- dom.controlsUp.forEach( function( el ) { el.removeEventListener( eventName, onNavigateUpClicked, false ); } );
|
|
|
- dom.controlsDown.forEach( function( el ) { el.removeEventListener( eventName, onNavigateDownClicked, false ); } );
|
|
|
- dom.controlsPrev.forEach( function( el ) { el.removeEventListener( eventName, onNavigatePrevClicked, false ); } );
|
|
|
- dom.controlsNext.forEach( function( el ) { el.removeEventListener( eventName, onNavigateNextClicked, false ); } );
|
|
|
- } );
|
|
|
- }
|
|
|
+ [ 'touchstart', 'click' ].forEach( function( eventName ) {
|
|
|
+ dom.controlsLeft.forEach( function( el ) { el.removeEventListener( eventName, onNavigateLeftClicked, false ); } );
|
|
|
+ dom.controlsRight.forEach( function( el ) { el.removeEventListener( eventName, onNavigateRightClicked, false ); } );
|
|
|
+ dom.controlsUp.forEach( function( el ) { el.removeEventListener( eventName, onNavigateUpClicked, false ); } );
|
|
|
+ dom.controlsDown.forEach( function( el ) { el.removeEventListener( eventName, onNavigateDownClicked, false ); } );
|
|
|
+ dom.controlsPrev.forEach( function( el ) { el.removeEventListener( eventName, onNavigatePrevClicked, false ); } );
|
|
|
+ dom.controlsNext.forEach( function( el ) { el.removeEventListener( eventName, onNavigateNextClicked, false ); } );
|
|
|
+ } );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -778,7 +770,7 @@ var Reveal = (function(){
|
|
|
*/
|
|
|
function hideAddressBar() {
|
|
|
|
|
|
- if( /iphone|ipod|android/gi.test( navigator.userAgent ) && !/crios/gi.test( navigator.userAgent ) ) {
|
|
|
+ if( config.hideAddressBar && isMobileDevice ) {
|
|
|
|
|
|
window.addEventListener( 'load', removeAddressBar, false );
|
|
|
window.addEventListener( 'orientationchange', removeAddressBar, false );
|
|
@@ -792,7 +784,8 @@ var Reveal = (function(){
|
|
|
*/
|
|
|
function removeAddressBar() {
|
|
|
|
|
|
- if( window.orientation === 0 ) {
|
|
|
+
|
|
|
+ if( window.orientation === 0 && !/crios/gi.test( navigator.userAgent ) ) {
|
|
|
document.documentElement.style.overflow = 'scroll';
|
|
|
document.body.style.height = '120%';
|
|
|
}
|
|
@@ -1156,7 +1149,7 @@ var Reveal = (function(){
|
|
|
var depth = window.innerWidth < 400 ? 1000 : 2500;
|
|
|
|
|
|
dom.wrapper.classList.add( 'overview' );
|
|
|
- dom.wrapper.classList.remove( 'exit-overview' );
|
|
|
+ dom.wrapper.classList.remove( 'overview-deactivating' );
|
|
|
|
|
|
clearTimeout( activateOverviewTimeout );
|
|
|
clearTimeout( deactivateOverviewTimeout );
|
|
@@ -1164,7 +1157,7 @@ var Reveal = (function(){
|
|
|
|
|
|
|
|
|
|
|
|
- activateOverviewTimeout = setTimeout( function(){
|
|
|
+ activateOverviewTimeout = setTimeout( function() {
|
|
|
|
|
|
var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR );
|
|
|
|
|
@@ -1241,25 +1234,19 @@ var Reveal = (function(){
|
|
|
|
|
|
|
|
|
|
|
|
- dom.wrapper.classList.add( 'exit-overview' );
|
|
|
+ dom.wrapper.classList.add( 'overview-deactivating' );
|
|
|
|
|
|
deactivateOverviewTimeout = setTimeout( function () {
|
|
|
- dom.wrapper.classList.remove( 'exit-overview' );
|
|
|
- }, 10);
|
|
|
+ dom.wrapper.classList.remove( 'overview-deactivating' );
|
|
|
+ }, 1 );
|
|
|
|
|
|
|
|
|
- var slides = toArray( document.querySelectorAll( SLIDES_SELECTOR ) );
|
|
|
-
|
|
|
- for( var i = 0, len = slides.length; i < len; i++ ) {
|
|
|
- var element = slides[i];
|
|
|
-
|
|
|
- element.style.display = '';
|
|
|
-
|
|
|
+ toArray( document.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) {
|
|
|
|
|
|
- transformElement( element, '' );
|
|
|
+ transformElement( slide, '' );
|
|
|
|
|
|
- element.removeEventListener( 'click', onOverviewSlideClicked, true );
|
|
|
- }
|
|
|
+ slide.removeEventListener( 'click', onOverviewSlideClicked, true );
|
|
|
+ } );
|
|
|
|
|
|
slide( indexh, indexv );
|
|
|
|
|
@@ -1792,48 +1779,45 @@ var Reveal = (function(){
|
|
|
*/
|
|
|
function updateControls() {
|
|
|
|
|
|
- if ( config.controls && dom.controls ) {
|
|
|
-
|
|
|
- var routes = availableRoutes();
|
|
|
- var fragments = availableFragments();
|
|
|
-
|
|
|
-
|
|
|
- dom.controlsLeft.concat( dom.controlsRight )
|
|
|
- .concat( dom.controlsUp )
|
|
|
- .concat( dom.controlsDown )
|
|
|
- .concat( dom.controlsPrev )
|
|
|
- .concat( dom.controlsNext ).forEach( function( node ) {
|
|
|
- node.classList.remove( 'enabled' );
|
|
|
- node.classList.remove( 'fragmented' );
|
|
|
- } );
|
|
|
+ var routes = availableRoutes();
|
|
|
+ var fragments = availableFragments();
|
|
|
+
|
|
|
+
|
|
|
+ dom.controlsLeft.concat( dom.controlsRight )
|
|
|
+ .concat( dom.controlsUp )
|
|
|
+ .concat( dom.controlsDown )
|
|
|
+ .concat( dom.controlsPrev )
|
|
|
+ .concat( dom.controlsNext ).forEach( function( node ) {
|
|
|
+ node.classList.remove( 'enabled' );
|
|
|
+ node.classList.remove( 'fragmented' );
|
|
|
+ } );
|
|
|
|
|
|
-
|
|
|
- if( routes.left ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
- if( routes.right ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
- if( routes.up ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
- if( routes.down ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
+
|
|
|
+ if( routes.left ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
+ if( routes.right ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
+ if( routes.up ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
+ if( routes.down ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
|
|
|
-
|
|
|
- if( routes.left || routes.up ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
- if( routes.right || routes.down ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
+
|
|
|
+ if( routes.left || routes.up ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
+ if( routes.right || routes.down ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'enabled' ); } );
|
|
|
|
|
|
-
|
|
|
- if( currentSlide ) {
|
|
|
+
|
|
|
+ if( currentSlide ) {
|
|
|
|
|
|
-
|
|
|
- if( fragments.prev ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
- if( fragments.next ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
+
|
|
|
+ if( fragments.prev ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
+ if( fragments.next ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- if( isVerticalSlide( currentSlide ) ) {
|
|
|
- if( fragments.prev ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
- if( fragments.next ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
- }
|
|
|
- else {
|
|
|
- if( fragments.prev ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
- if( fragments.next ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+ if( isVerticalSlide( currentSlide ) ) {
|
|
|
+ if( fragments.prev ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
+ if( fragments.next ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if( fragments.prev ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
+ if( fragments.next ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } );
|
|
|
}
|
|
|
|
|
|
}
|