Merge branch 'master' into fix-pdf-page-numbering
commit
25ed8f2c47
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
47
js/reveal.js
47
js/reveal.js
|
@ -1571,15 +1571,20 @@ export default function( revealElement, options ) {
|
|||
slidesLength = slides.length;
|
||||
|
||||
let printMode = print.isPrintingPDF();
|
||||
let loopedForwards = false;
|
||||
let loopedBackwards = false;
|
||||
|
||||
if( slidesLength ) {
|
||||
|
||||
// Should the index loop?
|
||||
if( config.loop ) {
|
||||
if( index >= slidesLength ) loopedForwards = true;
|
||||
|
||||
index %= slidesLength;
|
||||
|
||||
if( index < 0 ) {
|
||||
index = slidesLength + index;
|
||||
loopedBackwards = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1617,10 +1622,7 @@ export default function( revealElement, options ) {
|
|||
|
||||
if( config.fragments ) {
|
||||
// Show all fragments in prior slides
|
||||
Util.queryAll( element, '.fragment' ).forEach( fragment => {
|
||||
fragment.classList.add( 'visible' );
|
||||
fragment.classList.remove( 'current-fragment' );
|
||||
} );
|
||||
showFragmentsIn( element );
|
||||
}
|
||||
}
|
||||
else if( i > index ) {
|
||||
|
@ -1629,9 +1631,17 @@ export default function( revealElement, options ) {
|
|||
|
||||
if( config.fragments ) {
|
||||
// Hide all fragments in future slides
|
||||
Util.queryAll( element, '.fragment.visible' ).forEach( fragment => {
|
||||
fragment.classList.remove( 'visible', 'current-fragment' );
|
||||
} );
|
||||
hideFragmentsIn( element );
|
||||
}
|
||||
}
|
||||
// Update the visibility of fragments when a presentation loops
|
||||
// in either direction
|
||||
else if( i === index && config.fragments ) {
|
||||
if( loopedForwards ) {
|
||||
hideFragmentsIn( element );
|
||||
}
|
||||
else if( loopedBackwards ) {
|
||||
showFragmentsIn( element );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1671,6 +1681,29 @@ export default function( revealElement, options ) {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows all fragment elements within the given contaienr.
|
||||
*/
|
||||
function showFragmentsIn( container ) {
|
||||
|
||||
Util.queryAll( container, '.fragment' ).forEach( fragment => {
|
||||
fragment.classList.add( 'visible' );
|
||||
fragment.classList.remove( 'current-fragment' );
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Hides all fragment elements within the given contaienr.
|
||||
*/
|
||||
function hideFragmentsIn( container ) {
|
||||
|
||||
Util.queryAll( container, '.fragment.visible' ).forEach( fragment => {
|
||||
fragment.classList.remove( 'visible', 'current-fragment' );
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Optimization method; hide all slides that are far away
|
||||
* from the present slide.
|
||||
|
|
Loading…
Reference in New Issue