|
@@ -552,78 +552,82 @@ var Reveal = (function(){
|
|
|
*/
|
|
|
function layout() {
|
|
|
|
|
|
-
|
|
|
- var availableWidth = dom.wrapper.offsetWidth,
|
|
|
- availableHeight = dom.wrapper.offsetHeight;
|
|
|
+ if( dom.wrapper ) {
|
|
|
|
|
|
-
|
|
|
- availableWidth -= ( availableHeight * config.margin );
|
|
|
- availableHeight -= ( availableHeight * config.margin );
|
|
|
+
|
|
|
+ var availableWidth = dom.wrapper.offsetWidth,
|
|
|
+ availableHeight = dom.wrapper.offsetHeight;
|
|
|
|
|
|
-
|
|
|
- var slideWidth = config.width,
|
|
|
- slideHeight = config.height;
|
|
|
+
|
|
|
+ availableWidth -= ( availableHeight * config.margin );
|
|
|
+ availableHeight -= ( availableHeight * config.margin );
|
|
|
|
|
|
-
|
|
|
- if( typeof slideWidth === 'string' && /%$/.test( slideWidth ) ) {
|
|
|
- slideWidth = parseInt( slideWidth, 10 ) / 100 * availableWidth;
|
|
|
- }
|
|
|
+
|
|
|
+ var slideWidth = config.width,
|
|
|
+ slideHeight = config.height;
|
|
|
|
|
|
-
|
|
|
- if( typeof slideHeight === 'string' && /%$/.test( slideHeight ) ) {
|
|
|
- slideHeight = parseInt( slideHeight, 10 ) / 100 * availableHeight;
|
|
|
- }
|
|
|
+
|
|
|
+ if( typeof slideWidth === 'string' && /%$/.test( slideWidth ) ) {
|
|
|
+ slideWidth = parseInt( slideWidth, 10 ) / 100 * availableWidth;
|
|
|
+ }
|
|
|
|
|
|
- dom.slides.style.width = slideWidth + 'px';
|
|
|
- dom.slides.style.height = slideHeight + 'px';
|
|
|
+
|
|
|
+ if( typeof slideHeight === 'string' && /%$/.test( slideHeight ) ) {
|
|
|
+ slideHeight = parseInt( slideHeight, 10 ) / 100 * availableHeight;
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- scale = Math.min( availableWidth / slideWidth, availableHeight / slideHeight );
|
|
|
+ dom.slides.style.width = slideWidth + 'px';
|
|
|
+ dom.slides.style.height = slideHeight + 'px';
|
|
|
|
|
|
-
|
|
|
- scale = Math.max( scale, config.minScale );
|
|
|
- scale = Math.min( scale, config.maxScale );
|
|
|
+
|
|
|
+ scale = Math.min( availableWidth / slideWidth, availableHeight / slideHeight );
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- if( typeof dom.slides.style.zoom !== 'undefined' && !navigator.userAgent.match( /(iphone|ipod|android)/gi ) ) {
|
|
|
- dom.slides.style.zoom = scale;
|
|
|
- }
|
|
|
-
|
|
|
- else {
|
|
|
- var transform = 'translate(-50%, -50%) scale('+ scale +') translate(50%, 50%)';
|
|
|
+
|
|
|
+ scale = Math.max( scale, config.minScale );
|
|
|
+ scale = Math.min( scale, config.maxScale );
|
|
|
|
|
|
- dom.slides.style.WebkitTransform = transform;
|
|
|
- dom.slides.style.MozTransform = transform;
|
|
|
- dom.slides.style.msTransform = transform;
|
|
|
- dom.slides.style.OTransform = transform;
|
|
|
- dom.slides.style.transform = transform;
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+ if( typeof dom.slides.style.zoom !== 'undefined' && !navigator.userAgent.match( /(iphone|ipod|ipad|android)/gi ) ) {
|
|
|
+ dom.slides.style.zoom = scale;
|
|
|
+ }
|
|
|
+
|
|
|
+ else {
|
|
|
+ var transform = 'translate(-50%, -50%) scale('+ scale +') translate(50%, 50%)';
|
|
|
|
|
|
- if( config.center ) {
|
|
|
+ dom.slides.style.WebkitTransform = transform;
|
|
|
+ dom.slides.style.MozTransform = transform;
|
|
|
+ dom.slides.style.msTransform = transform;
|
|
|
+ dom.slides.style.OTransform = transform;
|
|
|
+ dom.slides.style.transform = transform;
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- var slides = toArray( document.querySelectorAll( SLIDES_SELECTOR ) );
|
|
|
+ if( config.center ) {
|
|
|
|
|
|
-
|
|
|
- var minTop = -slideHeight / 2;
|
|
|
+
|
|
|
+ var slides = toArray( document.querySelectorAll( SLIDES_SELECTOR ) );
|
|
|
|
|
|
- for( var i = 0, len = slides.length; i < len; i++ ) {
|
|
|
- var slide = slides[ i ];
|
|
|
+
|
|
|
+ var minTop = -slideHeight / 2;
|
|
|
|
|
|
-
|
|
|
- if( slide.style.display === 'none' ) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+ for( var i = 0, len = slides.length; i < len; i++ ) {
|
|
|
+ var slide = slides[ i ];
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- if( slide.classList.contains( 'stack' ) ) {
|
|
|
- slide.style.top = 0;
|
|
|
- }
|
|
|
- else {
|
|
|
- slide.style.top = Math.max( - ( slide.offsetHeight / 2 ) - 20, minTop ) + 'px';
|
|
|
+
|
|
|
+ if( slide.style.display === 'none' ) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if( slide.classList.contains( 'stack' ) ) {
|
|
|
+ slide.style.top = 0;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ slide.style.top = Math.max( - ( slide.offsetHeight / 2 ) - 20, minTop ) + 'px';
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|