From eea437f4be92bafbe96d5276233d4fdff7b5f814 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sun, 27 Apr 2014 14:46:49 +0200 Subject: new api method: getBackgroundSlide --- js/reveal.js | 48 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 11 deletions(-) (limited to 'js/reveal.js') diff --git a/js/reveal.js b/js/reveal.js index 5dc6856..55642e2 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -2286,7 +2286,7 @@ var Reveal = (function(){ element.removeAttribute( 'data-src' ); } ); - // Media elements with multiple s + // Media elements with children toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( media ) { var sources = 0; @@ -2634,6 +2634,38 @@ var Reveal = (function(){ } + function getSlide( x, y ) { + + var horizontalSlide = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR )[ x ]; + var verticalSlides = horizontalSlide && horizontalSlide.querySelectorAll( 'section' ); + + if( typeof y === 'number' ) { + return verticalSlides ? verticalSlides[ y ] : undefined; + } + + return horizontalSlide; + + } + + /** + * Returns the background element for the given slide. + * All slides, even the ones with no background properties + * defined, have a background element so this never returns + * null. + */ + function getSlideBackground( x, y ) { + + var horizontalBackground = document.querySelectorAll( '.backgrounds>.slide-background' )[ x ]; + var verticalBackgrounds = horizontalBackground && horizontalBackground.querySelectorAll( '.slide-background' ); + + if( typeof y === 'number' ) { + return verticalBackgrounds ? verticalBackgrounds[ y ] : undefined; + } + + return horizontalBackground; + + } + /** * Retrieves the current state of the presentation as * an object. This state can then be restored at any @@ -3720,17 +3752,11 @@ var Reveal = (function(){ getTotalSlides: getTotalSlides, - // Returns the slide at the specified index, y is optional - getSlide: function( x, y ) { - var horizontalSlide = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR )[ x ]; - var verticalSlides = horizontalSlide && horizontalSlide.querySelectorAll( 'section' ); - - if( typeof y !== 'undefined' ) { - return verticalSlides ? verticalSlides[ y ] : undefined; - } + // Returns the slide element at the specified index + getSlide: getSlide, - return horizontalSlide; - }, + // Returns the slide background element at the specified index + getSlideBackground: getSlideBackground, // Returns the previous slide element, may be null getPreviousSlide: function() { -- cgit v1.2.3