aboutsummaryrefslogtreecommitdiff
path: root/js/reveal.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/reveal.js')
-rw-r--r--js/reveal.js45
1 files changed, 21 insertions, 24 deletions
diff --git a/js/reveal.js b/js/reveal.js
index d224e96..dbb227b 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -167,6 +167,10 @@
// Flags if the overview mode is currently active
overview = false,
+ // Holds the dimensions of our overview slides, including margins
+ overviewSlideWidth = null,
+ overviewSlideHeight = null,
+
// The horizontal and vertical index of the currently active slide
indexh,
indexv,
@@ -1803,6 +1807,17 @@
}
} );
+ // Calculate slide sizes
+ var margin = 70;
+ var slideSize = getComputedSlideSize();
+ overviewSlideWidth = slideSize.width + margin;
+ overviewSlideHeight = slideSize.height + margin;
+
+ // Reverse in RTL mode
+ if( config.rtl ) {
+ overviewSlideWidth = -overviewSlideWidth;
+ }
+
updateSlidesVisibility();
layoutOverview();
updateOverview();
@@ -1826,19 +1841,10 @@
*/
function layoutOverview() {
- var margin = 70;
- var slideWidth = config.width + margin,
- slideHeight = config.height + margin;
-
- // Reverse in RTL mode
- if( config.rtl ) {
- slideWidth = -slideWidth;
- }
-
// Layout slides
toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ).forEach( function( hslide, h ) {
hslide.setAttribute( 'data-index-h', h );
- transformElement( hslide, 'translate3d(' + ( h * slideWidth ) + 'px, 0, 0)' );
+ transformElement( hslide, 'translate3d(' + ( h * overviewSlideWidth ) + 'px, 0, 0)' );
if( hslide.classList.contains( 'stack' ) ) {
@@ -1846,7 +1852,7 @@
vslide.setAttribute( 'data-index-h', h );
vslide.setAttribute( 'data-index-v', v );
- transformElement( vslide, 'translate3d(0, ' + ( v * slideHeight ) + 'px, 0)' );
+ transformElement( vslide, 'translate3d(0, ' + ( v * overviewSlideHeight ) + 'px, 0)' );
} );
}
@@ -1854,10 +1860,10 @@
// Layout slide backgrounds
toArray( dom.background.childNodes ).forEach( function( hbackground, h ) {
- transformElement( hbackground, 'translate3d(' + ( h * slideWidth ) + 'px, 0, 0)' );
+ transformElement( hbackground, 'translate3d(' + ( h * overviewSlideWidth ) + 'px, 0, 0)' );
toArray( hbackground.querySelectorAll( '.slide-background' ) ).forEach( function( vbackground, v ) {
- transformElement( vbackground, 'translate3d(0, ' + ( v * slideHeight ) + 'px, 0)' );
+ transformElement( vbackground, 'translate3d(0, ' + ( v * overviewSlideHeight ) + 'px, 0)' );
} );
} );
@@ -1869,19 +1875,10 @@
*/
function updateOverview() {
- var margin = 70;
- var slideWidth = config.width + margin,
- slideHeight = config.height + margin;
-
- // Reverse in RTL mode
- if( config.rtl ) {
- slideWidth = -slideWidth;
- }
-
transformSlides( {
overview: [
- 'translateX('+ ( -indexh * slideWidth ) +'px)',
- 'translateY('+ ( -indexv * slideHeight ) +'px)',
+ 'translateX('+ ( -indexh * overviewSlideWidth ) +'px)',
+ 'translateY('+ ( -indexv * overviewSlideHeight ) +'px)',
'translateZ('+ ( window.innerWidth < 400 ? -1000 : -2500 ) +'px)'
].join( ' ' )
} );