only preload last slides if presentation is looped

This commit is contained in:
Hakim El Hattab 2015-02-02 09:14:09 +01:00
parent 49f462e6ce
commit 1c8a6e47a6
1 changed files with 9 additions and 3 deletions

View File

@ -2359,7 +2359,7 @@
viewDistance = isOverview() ? 6 : 2; viewDistance = isOverview() ? 6 : 2;
} }
// Limit view distance on weaker devices // All slides need to be visible when exporting to PDF
if( isPrintingPDF() ) { if( isPrintingPDF() ) {
viewDistance = Number.MAX_VALUE; viewDistance = Number.MAX_VALUE;
} }
@ -2370,8 +2370,14 @@
var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ), var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ),
verticalSlidesLength = verticalSlides.length; verticalSlidesLength = verticalSlides.length;
// Loops so that it measures 1 between the first and last slides // Determine how far away this slide is from the present
distanceX = Math.abs( ( ( indexh || 0 ) - x ) % ( horizontalSlidesLength - viewDistance ) ) || 0; distanceX = Math.abs( ( indexh || 0 ) - x ) || 0;
// If the presentation is looped, distance should measure
// 1 between the first and last slides
if( config.loop ) {
distanceX = distanceX % ( horizontalSlidesLength - viewDistance );
}
// Show the horizontal slide if it's within the view distance // Show the horizontal slide if it's within the view distance
if( distanceX < viewDistance ) { if( distanceX < viewDistance ) {