diff options
author | Hakim El Hattab <hakim.elhattab@gmail.com> | 2014-04-22 15:16:53 +0200 |
---|---|---|
committer | Hakim El Hattab <hakim.elhattab@gmail.com> | 2014-04-22 15:16:53 +0200 |
commit | 5d39b5eabf97a39936c70558e836253f9bbca931 (patch) | |
tree | e42b6fafcc5901db1bb457a3d2983c7036cf41e6 | |
parent | 37ebe0732c411bee812852e80294bd36d75cd76c (diff) | |
download | perl-software-in-gnu-guix-5d39b5eabf97a39936c70558e836253f9bbca931.tar perl-software-in-gnu-guix-5d39b5eabf97a39936c70558e836253f9bbca931.tar.gz |
carry slide classes over to generated background elements
-rw-r--r-- | js/reveal.js | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/js/reveal.js b/js/reveal.js index e133887..160b90f 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -507,7 +507,9 @@ var Reveal = (function(){ }; var element = document.createElement( 'div' ); - element.className = 'slide-background'; + + // Carry over custom classes from the slide to the background + element.className = 'slide-background ' + slide.className.replace( /present|past|future/, '' ); if( data.background ) { // Auto-wrap image urls in url(...) @@ -2036,14 +2038,18 @@ var Reveal = (function(){ // states of their slides (past/present/future) toArray( dom.background.childNodes ).forEach( function( backgroundh, h ) { + backgroundh.classList.remove( 'past' ); + backgroundh.classList.remove( 'present' ); + backgroundh.classList.remove( 'future' ); + if( h < indexh ) { - backgroundh.className = 'slide-background ' + horizontalPast; + backgroundh.classList.add( horizontalPast ); } else if ( h > indexh ) { - backgroundh.className = 'slide-background ' + horizontalFuture; + backgroundh.classList.add( horizontalFuture ); } else { - backgroundh.className = 'slide-background present'; + backgroundh.classList.add( 'present' ); // Store a reference to the current background element currentBackground = backgroundh; @@ -2052,14 +2058,18 @@ var Reveal = (function(){ if( includeAll || h === indexh ) { toArray( backgroundh.querySelectorAll( '.slide-background' ) ).forEach( function( backgroundv, v ) { + backgroundv.classList.remove( 'past' ); + backgroundv.classList.remove( 'present' ); + backgroundv.classList.remove( 'future' ); + if( v < indexv ) { - backgroundv.className = 'slide-background past'; + backgroundv.classList.add( 'past' ); } else if ( v > indexv ) { - backgroundv.className = 'slide-background future'; + backgroundv.classList.add( 'future' ); } else { - backgroundv.className = 'slide-background present'; + backgroundv.classList.add( 'present' ); // Only if this is the present horizontal and vertical slide if( h === indexh ) currentBackground = backgroundv; |