fix previousFragment, was hiding in reverse order #435

This commit is contained in:
Hakim El Hattab 2013-05-05 18:59:17 -04:00
parent db4eb20bc3
commit 5642b8d5d3
2 changed files with 25 additions and 25 deletions

View file

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

4
js/reveal.min.js vendored

File diff suppressed because one or more lines are too long