From c11e8f624f34729363cc35d5a083476c356e824a Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Tue, 4 Jun 2013 19:58:50 +0200 Subject: support for optional background property overrides (#453) --- js/reveal.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'js/reveal.js') diff --git a/js/reveal.js b/js/reveal.js index edad911..6e5f9e4 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -258,19 +258,30 @@ var Reveal = (function(){ // given slide function _createBackground( slide, container ) { - var background = slide.getAttribute( 'data-background' ); + var data = { + background: slide.getAttribute( 'data-background' ), + backgroundSize: slide.getAttribute( 'data-background-size' ), + backgroundRepeat: slide.getAttribute( 'data-background-repeat' ), + backgroundPosition: slide.getAttribute( 'data-background-position' ) + }; + var element = document.createElement( 'div' ); - if( background ) { + if( data.background ) { // Auto-wrap image urls in url(...) - if( /\.(png|jpg|jpeg|gif|bmp|)$/gi.test( background ) ) { - element.style.backgroundImage = 'url('+ background +')'; + if( /\.(png|jpg|jpeg|gif|bmp|)$/gi.test( data.background ) ) { + element.style.backgroundImage = 'url('+ data.background +')'; } else { - element.style.background = background; + element.style.background = data.background; } } + // Additional and optional background properties + if( data.backgroundSize ) element.style.backgroundSize = data.backgroundSize; + if( data.backgroundRepeat ) element.style.backgroundRepeat = data.backgroundRepeat; + if( data.backgroundPosition ) element.style.backgroundPosition = data.backgroundPosition; + container.appendChild( element ); return element; -- cgit v1.2.3