Browse Source

disable transition into and out of overview mode #829

Hakim El Hattab 11 years ago
parent
commit
a9c2d4d663
4 changed files with 43 additions and 58 deletions
  1. 7 3
      css/reveal.css
  2. 0 0
      css/reveal.min.css
  3. 35 54
      js/reveal.js
  4. 1 1
      js/reveal.min.js

+ 7 - 3
css/reveal.css

@@ -1103,9 +1103,7 @@ body {
 
 
 .reveal.fade.overview .slides section,
-.reveal.fade.overview .slides>section>section,
-.reveal.fade.overview-deactivating .slides section,
-.reveal.fade.overview-deactivating .slides>section>section {
+.reveal.fade.overview .slides>section>section {
 	-webkit-transition: none;
 	   -moz-transition: none;
 	        transition: none;
@@ -1155,6 +1153,12 @@ body {
 	cursor: pointer;
 	background: rgba(0,0,0,0.1);
 }
+.reveal.overview .slides section,
+.reveal.overview-deactivating .slides section {
+	-webkit-transition: none !important;
+	   -moz-transition: none !important;
+	        transition: none !important;
+}
 .reveal.overview .slides section .fragment {
 	opacity: 1;
 }

File diff suppressed because it is too large
+ 0 - 0
css/reveal.min.css


+ 35 - 54
js/reveal.js

@@ -151,12 +151,6 @@ var Reveal = (function(){
 		// Delays updates to the URL due to a Chrome thumbnailer bug
 		writeURLTimeout = 0,
 
-		// A delay used to activate the overview mode
-		activateOverviewTimeout = 0,
-
-		// A delay used to deactivate the overview mode
-		deactivateOverviewTimeout = 0,
-
 		// Flags if the interaction event listeners are bound
 		eventsAreBound = false,
 
@@ -1238,67 +1232,57 @@ var Reveal = (function(){
 			dom.wrapper.classList.add( 'overview' );
 			dom.wrapper.classList.remove( 'overview-deactivating' );
 
-			clearTimeout( activateOverviewTimeout );
-			clearTimeout( deactivateOverviewTimeout );
-
-			// Not the pretties solution, but need to let the overview
-			// class apply first so that slides are measured accurately
-			// before we can position them
-			activateOverviewTimeout = setTimeout( function() {
-
-				var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR );
-
-				for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) {
-					var hslide = horizontalSlides[i],
-						hoffset = config.rtl ? -105 : 105;
+			var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR );
 
-					hslide.setAttribute( 'data-index-h', i );
+			for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) {
+				var hslide = horizontalSlides[i],
+					hoffset = config.rtl ? -105 : 105;
 
-					// Apply CSS transform
-					transformElement( hslide, 'translateZ(-'+ depth +'px) translate(' + ( ( i - indexh ) * hoffset ) + '%, 0%)' );
+				hslide.setAttribute( 'data-index-h', i );
 
-					if( hslide.classList.contains( 'stack' ) ) {
+				// Apply CSS transform
+				transformElement( hslide, 'translateZ(-'+ depth +'px) translate(' + ( ( i - indexh ) * hoffset ) + '%, 0%)' );
 
-						var verticalSlides = hslide.querySelectorAll( 'section' );
+				if( hslide.classList.contains( 'stack' ) ) {
 
-						for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) {
-							var verticalIndex = i === indexh ? indexv : getPreviousVerticalIndex( hslide );
+					var verticalSlides = hslide.querySelectorAll( 'section' );
 
-							var vslide = verticalSlides[j];
+					for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) {
+						var verticalIndex = i === indexh ? indexv : getPreviousVerticalIndex( hslide );
 
-							vslide.setAttribute( 'data-index-h', i );
-							vslide.setAttribute( 'data-index-v', j );
+						var vslide = verticalSlides[j];
 
-							// Apply CSS transform
-							transformElement( vslide, 'translate(0%, ' + ( ( j - verticalIndex ) * 105 ) + '%)' );
+						vslide.setAttribute( 'data-index-h', i );
+						vslide.setAttribute( 'data-index-v', j );
 
-							// Navigate to this slide on click
-							vslide.addEventListener( 'click', onOverviewSlideClicked, true );
-						}
-
-					}
-					else {
+						// Apply CSS transform
+						transformElement( vslide, 'translate(0%, ' + ( ( j - verticalIndex ) * 105 ) + '%)' );
 
 						// Navigate to this slide on click
-						hslide.addEventListener( 'click', onOverviewSlideClicked, true );
-
+						vslide.addEventListener( 'click', onOverviewSlideClicked, true );
 					}
-				}
 
-				updateSlidesVisibility();
+				}
+				else {
 
-				layout();
+					// Navigate to this slide on click
+					hslide.addEventListener( 'click', onOverviewSlideClicked, true );
 
-				if( !wasActive ) {
-					// Notify observers of the overview showing
-					dispatchEvent( 'overviewshown', {
-						'indexh': indexh,
-						'indexv': indexv,
-						'currentSlide': currentSlide
-					} );
 				}
+			}
+
+			updateSlidesVisibility();
 
-			}, 10 );
+			layout();
+
+			if( !wasActive ) {
+				// Notify observers of the overview showing
+				dispatchEvent( 'overviewshown', {
+					'indexh': indexh,
+					'indexv': indexv,
+					'currentSlide': currentSlide
+				} );
+			}
 
 		}
 
@@ -1313,9 +1297,6 @@ var Reveal = (function(){
 		// Only proceed if enabled in config
 		if( config.overview ) {
 
-			clearTimeout( activateOverviewTimeout );
-			clearTimeout( deactivateOverviewTimeout );
-
 			dom.wrapper.classList.remove( 'overview' );
 
 			// Temporarily add a class so that transitions can do different things
@@ -1323,7 +1304,7 @@ var Reveal = (function(){
 			// moving from slide to slide
 			dom.wrapper.classList.add( 'overview-deactivating' );
 
-			deactivateOverviewTimeout = setTimeout( function () {
+			setTimeout( function () {
 				dom.wrapper.classList.remove( 'overview-deactivating' );
 			}, 1 );
 

File diff suppressed because it is too large
+ 1 - 1
js/reveal.min.js


Some files were not shown because too many files changed in this diff