Browse Source

allow to be called directly before or after (closes #2021)

Hakim El Hattab 6 years ago
parent
commit
3beda63a7d
1 changed files with 13 additions and 5 deletions
  1. 13 5
      js/reveal.js

+ 13 - 5
js/reveal.js

@@ -461,6 +461,8 @@
 	 */
 	function start() {
 
+		loaded = true;
+
 		// Make sure we've got all the DOM elements we need
 		setupDOM();
 
@@ -488,8 +490,6 @@
 			// Enable transitions now that we're loaded
 			dom.slides.classList.remove( 'no-transition' );
 
-			loaded = true;
-
 			dom.wrapper.classList.add( 'ready' );
 
 			dispatchEvent( 'ready', {
@@ -1014,14 +1014,22 @@
 	 */
 	function configure( options ) {
 
-		var numberOfSlides = dom.wrapper.querySelectorAll( SLIDES_SELECTOR ).length;
-
-		dom.wrapper.classList.remove( config.transition );
+		var oldTransition = config.transition;
 
 		// New config options may be passed when this method
 		// is invoked through the API after initialization
 		if( typeof options === 'object' ) extend( config, options );
 
+		// Abort if reveal.js hasn't finished loading, config
+		// changes will be applied automatically once loading
+		// finishes
+		if( loaded === false ) return;
+
+		var numberOfSlides = dom.wrapper.querySelectorAll( SLIDES_SELECTOR ).length;
+
+		// Remove the previously configured transition class
+		dom.wrapper.classList.remove( oldTransition );
+
 		// Force linear transition based on browser capabilities
 		if( features.transforms3d === false ) config.transition = 'linear';