Jelajahi Sumber

add new getSlides() API

This can be used by plugins which are concerned with helping the
presenter with their pace.
Adam Spiers 8 tahun lalu
induk
melakukan
ef9cbbbbb9
2 mengubah file dengan 17 tambahan dan 4 penghapusan
  1. 4 3
      README.md
  2. 13 1
      js/reveal.js

+ 4 - 3
README.md

@@ -494,10 +494,11 @@ Reveal.getScale();
 Reveal.getPreviousSlide();
 Reveal.getCurrentSlide();
 
-Reveal.getIndices(); // { h: 0, v: 0 } }
+Reveal.getIndices();        // { h: 0, v: 0 } }
 Reveal.getPastSlideCount();
-Reveal.getProgress(); // (0 == first slide, 1 == last slide)
-Reveal.getTotalSlides(); // total number of slides
+Reveal.getProgress();       // (0 == first slide, 1 == last slide)
+Reveal.getSlides();         // Array of all slides
+Reveal.getTotalSlides();    // total number of slides
 
 // Returns the speaker notes for the current slide
 Reveal.getSlideNotes();

+ 13 - 1
js/reveal.js

@@ -3673,6 +3673,15 @@
 
 	}
 
+	/**
+	 * Retrieves all slides in this presentation.
+	 */
+	function getSlides() {
+
+		return toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ':not(.stack)' ));
+
+	}
+
 	/**
 	 * Retrieves the total number of slides in this presentation.
 	 *
@@ -3680,7 +3689,7 @@
 	 */
 	function getTotalSlides() {
 
-		return dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ':not(.stack)' ).length;
+		return getSlides().length;
 
 	}
 
@@ -4984,6 +4993,9 @@
 		// Returns the indices of the current, or specified, slide
 		getIndices: getIndices,
 
+		// Returns an Array of all slides
+		getSlides: getSlides,
+
 		// Returns the total number of slides
 		getTotalSlides: getTotalSlides,