Browse Source

fix previousFragment, was hiding in reverse order #435

Hakim El Hattab 11 years ago
parent
commit
5642b8d5d3
2 changed files with 24 additions and 24 deletions
  1. 23 23
      js/reveal.js
  2. 1 1
      js/reveal.min.js

+ 23 - 23
js/reveal.js

@@ -1632,19 +1632,19 @@ var Reveal = (function(){
 			var fragments = sortFragments( currentSlide.querySelectorAll( '.fragment:not(.visible)' ) );
 
 			if( fragments.length ) {
-				// There may be multiple fragments with the same index. We want to display all of them.
-				var nextFragmentIndex = fragments[0].getAttribute( 'data-fragment-index' );
-				
-				toArray( fragments ).forEach( function( thisFragment ) {
-					var f = thisFragment.getAttribute( 'data-fragment-index' );
-					if( f === nextFragmentIndex ) {
-						thisFragment.classList.add( 'visible' );
-						
-						// Notify subscribers of the change
-						dispatchEvent( 'fragmentshown', { fragment: thisFragment } );
-					}
+				// Find the index of the next fragment
+				var index = fragments[0].getAttribute( 'data-fragment-index' );
+
+				// Find all fragments with the same index
+				fragments = currentSlide.querySelectorAll( '.fragment[data-fragment-index="'+ index +'"]' );
+
+				toArray( fragments ).forEach( function( element ) {
+					element.classList.add( 'visible' );
+
+					// Notify subscribers of the change
+					dispatchEvent( 'fragmentshown', { fragment: element } );
 				} );
-				
+
 				updateControls();
 				return true;
 			}
@@ -1666,17 +1666,17 @@ var Reveal = (function(){
 			var fragments = sortFragments( currentSlide.querySelectorAll( '.fragment.visible' ) );
 
 			if( fragments.length ) {
-				// There may be multiple fragments with the same index. We want to display all of them.
-				var prevFragmentIndex = fragments[0].getAttribute( 'data-fragment-index' );
-				
-				toArray( fragments ).forEach( function( thisFragment ) {
-					var f = thisFragment.getAttribute( 'data-fragment-index' );
-					if( f === prevFragmentIndex ) {
-						thisFragment.classList.remove( 'visible' );
-						
-						// Notify subscribers of the change
-						dispatchEvent( 'fragmenthidden', { fragment: thisFragment } );
-					}
+				// Find the index of the previous fragment
+				var index = fragments[ fragments.length - 1 ].getAttribute( 'data-fragment-index' );
+
+				// Find all fragments with the same index
+				fragments = currentSlide.querySelectorAll( '.fragment[data-fragment-index="'+ index +'"]' );
+
+				toArray( fragments ).forEach( function( f ) {
+					f.classList.remove( 'visible' );
+
+					// Notify subscribers of the change
+					dispatchEvent( 'fragmenthidden', { fragment: f } );
 				} );
 
 				updateControls();

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