|
|
@ -291,7 +291,7 @@ var Reveal = (function(){ |
|
|
|
|
|
|
|
var horizontalSlides = Array.prototype.slice.call( document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); |
|
|
|
|
|
|
|
for( var i = 0, len = horizontalSlides.length; i < len; i++ ) { |
|
|
|
for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) { |
|
|
|
var hslide = horizontalSlides[i], |
|
|
|
htransform = 'translateZ(-2500px) translate(' + ( ( i - indexh ) * 105 ) + '%, 0%)'; |
|
|
|
|
|
|
@ -303,15 +303,17 @@ var Reveal = (function(){ |
|
|
|
hslide.style.OTransform = htransform; |
|
|
|
hslide.style.transform = htransform; |
|
|
|
|
|
|
|
// Navigate to this slide on click
|
|
|
|
hslide.addEventListener( 'click', onOverviewSlideClicked, true ); |
|
|
|
|
|
|
|
var verticalSlides = Array.prototype.slice.call( hslide.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '>section' ) ); |
|
|
|
var verticalSlides = Array.prototype.slice.call( hslide.querySelectorAll( 'section' ) ); |
|
|
|
|
|
|
|
for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) { |
|
|
|
var vslide = verticalSlides[j], |
|
|
|
vtransform = 'translateZ(0px) translate(0%, ' + ( ( j - indexv ) * 105 ) + '%)'; |
|
|
|
vtransform = 'translate(0%, ' + ( ( j - indexv ) * 105 ) + '%)'; |
|
|
|
|
|
|
|
hslide.setAttribute( 'data-index-v', j ); |
|
|
|
vslide.setAttribute( 'data-index-h', i ); |
|
|
|
vslide.setAttribute( 'data-index-v', j ); |
|
|
|
vslide.style.display = 'block'; |
|
|
|
vslide.style.WebkitTransform = vtransform; |
|
|
|
vslide.style.MozTransform = vtransform; |
|
|
@ -319,19 +321,25 @@ var Reveal = (function(){ |
|
|
|
vslide.style.OTransform = vtransform; |
|
|
|
vslide.style.transform = vtransform; |
|
|
|
|
|
|
|
hslide.addEventListener( 'click', onOverviewSlideClicked, true ); |
|
|
|
// Navigate to this slide on click
|
|
|
|
vslide.addEventListener( 'click', onOverviewSlideClicked, true ); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Exits the slide overview and enters the currently |
|
|
|
* active slide. |
|
|
|
*/ |
|
|
|
function deactivateOverview() { |
|
|
|
var slides = Array.prototype.slice.call( document.querySelectorAll( '#main section' ) ); |
|
|
|
|
|
|
|
document.body.classList.remove( 'overview' ); |
|
|
|
|
|
|
|
var slides = Array.prototype.slice.call( document.querySelectorAll( '#main section' ) ); |
|
|
|
|
|
|
|
for( var i = 0, len = slides.length; i < len; i++ ) { |
|
|
|
var element = slides[i]; |
|
|
|
|
|
|
|
// Resets all transforms to use the external styles
|
|
|
|
element.style.WebkitTransform = ''; |
|
|
|
element.style.MozTransform = ''; |
|
|
|
element.style.msTransform = ''; |
|
|
@ -344,11 +352,22 @@ var Reveal = (function(){ |
|
|
|
slide(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Checks if the overview is currently active. |
|
|
|
* |
|
|
|
* @return {Boolean} true if the overview is active, |
|
|
|
* false otherwise |
|
|
|
*/ |
|
|
|
function overviewIsActive() { |
|
|
|
return document.body.classList.contains( 'overview' ); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 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
|
|
|
|
// removed after deactivating the overview.
|
|
|
|
if( overviewIsActive() ) { |
|
|
|
event.preventDefault(); |
|
|
|
|
|
|
|