Ver Fonte

fix previousFragment, was hiding in reverse order #435

Hakim El Hattab há 11 anos atrás
pai
commit
5642b8d5d3
2 ficheiros alterados com 24 adições e 24 exclusões
  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();

Diff do ficheiro suprimidas por serem muito extensas
+ 1 - 1
js/reveal.min.js


Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff