rolled back to classList, promoting poyfill in readme
This commit is contained in:
		| @@ -2,7 +2,7 @@ | |||||||
|  |  | ||||||
| A CSS 3D slideshow tool for quickly creating good looking HTML presentations. Doesn't _rely_ on any external libraries but [highlight.js](http://softwaremaniacs.org/soft/highlight/en/description/) is included by default for code highlighting. | A CSS 3D slideshow tool for quickly creating good looking HTML presentations. Doesn't _rely_ on any external libraries but [highlight.js](http://softwaremaniacs.org/soft/highlight/en/description/) is included by default for code highlighting. | ||||||
|  |  | ||||||
| Note that this requires a browser with support for CSS 3D transforms and classList. If CSS 3D support is not detected, the presentation will degrade to less exciting 2D transitions. | Note that this requires a browser with support for CSS 3D transforms and ``classList``. If CSS 3D support is not detected, the presentation will degrade to less exciting 2D transitions. You could also use a polyfill for ``classList`` to make this work in < iOS 5 and < Safari 5.1, [here's one](https://github.com/remy/polyfills/blob/master/classList.js) from [@remy](https://github.com/remy). | ||||||
|  |  | ||||||
| Curious about how this looks in action? [Check out the demo page](http://lab.hakim.se/reveal-js/). | Curious about how this looks in action? [Check out the demo page](http://lab.hakim.se/reveal-js/). | ||||||
|  |  | ||||||
| @@ -24,6 +24,8 @@ Curious about how this looks in action? [Check out the demo page](http://lab.hak | |||||||
|   - Slides were moved one level deeper, into #reveal .slides |   - Slides were moved one level deeper, into #reveal .slides | ||||||
|   - Controls and progress bar were moved into #reveal |   - Controls and progress bar were moved into #reveal | ||||||
| - CSS is now much more explicit, rooted at #reveal, to prevent conflicts | - CSS is now much more explicit, rooted at #reveal, to prevent conflicts | ||||||
|  | - Config option for disabling updates to URL, defaults to true | ||||||
|  | - Anchors with image children no longer rotate in 3D on hover | ||||||
|  |  | ||||||
| ### 1.1 | ### 1.1 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										50
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -73,7 +73,7 @@ | |||||||
|  *   - Controls and progress bar were moved into #reveal |  *   - Controls and progress bar were moved into #reveal | ||||||
|  * - All CSS is now much more explicit, rooted at #reveal, to prevent conflicts |  * - All CSS is now much more explicit, rooted at #reveal, to prevent conflicts | ||||||
|  * - Config option for disabling updates to URL, defaults to true |  * - Config option for disabling updates to URL, defaults to true | ||||||
|  * - Removed dependency on classList |  * - Fix 3D link hover for anchors containing images | ||||||
|  *  |  *  | ||||||
|  * 	 |  * 	 | ||||||
|  * @author Hakim El Hattab | http://hakim.se |  * @author Hakim El Hattab | http://hakim.se | ||||||
| @@ -163,11 +163,11 @@ var Reveal = (function(){ | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if( config.transition !== 'default' ) { | 		if( config.transition !== 'default' ) { | ||||||
| 			addClass( dom.wrapper, config.transition ); | 			dom.wrapper.classList.add( config.transition ); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if( config.theme !== 'default' ) { | 		if( config.theme !== 'default' ) { | ||||||
| 			addClass( dom.wrapper, config.theme ); | 			dom.wrapper.classList.add( config.theme ); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if( config.rollingLinks ) { | 		if( config.rollingLinks ) { | ||||||
| @@ -308,7 +308,7 @@ var Reveal = (function(){ | |||||||
| 	            var node = nodes[i]; | 	            var node = nodes[i]; | ||||||
| 	             | 	             | ||||||
| 	            if( node.textContent && !node.querySelector( 'img' ) && ( !node.className || !hasClass( node, 'roll' ) ) ) { | 	            if( node.textContent && !node.querySelector( 'img' ) && ( !node.className || !hasClass( node, 'roll' ) ) ) { | ||||||
| 	                addClass( node, 'roll' ); | 	                node.classList.add( 'roll' ); | ||||||
| 	                node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>'; | 	                node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>'; | ||||||
| 	            } | 	            } | ||||||
| 	        }; | 	        }; | ||||||
| @@ -323,7 +323,7 @@ var Reveal = (function(){ | |||||||
| 	 * can't be improved. | 	 * can't be improved. | ||||||
| 	 */ | 	 */ | ||||||
| 	function activateOverview() { | 	function activateOverview() { | ||||||
| 		addClass( dom.wrapper, 'overview' ); | 		dom.wrapper.classList.add( 'overview' ); | ||||||
|  |  | ||||||
| 		var horizontalSlides = Array.prototype.slice.call( document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); | 		var horizontalSlides = Array.prototype.slice.call( document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); | ||||||
|  |  | ||||||
| @@ -339,7 +339,7 @@ var Reveal = (function(){ | |||||||
| 			hslide.style.OTransform = htransform; | 			hslide.style.OTransform = htransform; | ||||||
| 			hslide.style.transform = htransform; | 			hslide.style.transform = htransform; | ||||||
|  |  | ||||||
| 			if( !hasClass( hslide, 'stack' ) ) { | 			if( !hslide.classList.contains( 'stack' ) ) { | ||||||
| 				// Navigate to this slide on click | 				// Navigate to this slide on click | ||||||
| 				hslide.addEventListener( 'click', onOverviewSlideClicked, true ); | 				hslide.addEventListener( 'click', onOverviewSlideClicked, true ); | ||||||
| 			} | 			} | ||||||
| @@ -370,7 +370,7 @@ var Reveal = (function(){ | |||||||
| 	 * active slide. | 	 * active slide. | ||||||
| 	 */ | 	 */ | ||||||
| 	function deactivateOverview() { | 	function deactivateOverview() { | ||||||
| 		removeClass( dom.wrapper, 'overview' ); | 		dom.wrapper.classList.remove( 'overview' ); | ||||||
|  |  | ||||||
| 		var slides = Array.prototype.slice.call( document.querySelectorAll( '#reveal .slides section' ) ); | 		var slides = Array.prototype.slice.call( document.querySelectorAll( '#reveal .slides section' ) ); | ||||||
|  |  | ||||||
| @@ -397,7 +397,7 @@ var Reveal = (function(){ | |||||||
| 	 * false otherwise | 	 * false otherwise | ||||||
| 	 */ | 	 */ | ||||||
| 	function overviewIsActive() { | 	function overviewIsActive() { | ||||||
| 		return hasClass( dom.wrapper, 'overview' ); | 		return dom.wrapper.classList.contains( 'overview' ); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	/** | 	/** | ||||||
| @@ -463,7 +463,7 @@ var Reveal = (function(){ | |||||||
|  |  | ||||||
| 				// If this element contains vertical slides | 				// If this element contains vertical slides | ||||||
| 				if( slide.querySelector( 'section' ) ) { | 				if( slide.querySelector( 'section' ) ) { | ||||||
| 					addClass( slide, 'stack' ); | 					slide.classList.add( 'stack' ); | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| @@ -508,13 +508,13 @@ var Reveal = (function(){ | |||||||
|  |  | ||||||
| 		// Remove the 'enabled' class from all directions | 		// Remove the 'enabled' class from all directions | ||||||
| 		[ dom.controlsLeft, dom.controlsRight, dom.controlsUp, dom.controlsDown ].forEach( function( node ) { | 		[ dom.controlsLeft, dom.controlsRight, dom.controlsUp, dom.controlsDown ].forEach( function( node ) { | ||||||
| 			removeClass( node, 'enabled' ); | 			node.classList.remove( 'enabled' ); | ||||||
| 		} ) | 		} ) | ||||||
|  |  | ||||||
| 		if( routes.left ) addClass( dom.controlsLeft, 'enabled' ); | 		if( routes.left ) dom.controlsLeft.classList.add( 'enabled' ); | ||||||
| 		if( routes.right ) addClass( dom.controlsRight, 'enabled' ); | 		if( routes.right ) dom.controlsRight.classList.add( 'enabled' ); | ||||||
| 		if( routes.up ) addClass( dom.controlsUp, 'enabled' ); | 		if( routes.up ) dom.controlsUp.classList.add( 'enabled' ); | ||||||
| 		if( routes.down ) addClass( dom.controlsDown, 'enabled' ); | 		if( routes.down ) dom.controlsDown.classList.add( 'enabled' ); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	/** | 	/** | ||||||
| @@ -576,7 +576,7 @@ var Reveal = (function(){ | |||||||
| 		if( document.querySelector( VERTICAL_SLIDES_SELECTOR + '.present' ) ) { | 		if( document.querySelector( VERTICAL_SLIDES_SELECTOR + '.present' ) ) { | ||||||
| 			var verticalFragments = document.querySelectorAll( VERTICAL_SLIDES_SELECTOR + '.present .fragment:not(.visible)' ); | 			var verticalFragments = document.querySelectorAll( VERTICAL_SLIDES_SELECTOR + '.present .fragment:not(.visible)' ); | ||||||
| 			if( verticalFragments.length ) { | 			if( verticalFragments.length ) { | ||||||
| 				addClass( verticalFragments[0], 'visible' ); | 				verticalFragments[0].classList.add( 'visible' ); | ||||||
| 				return true; | 				return true; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| @@ -584,7 +584,7 @@ var Reveal = (function(){ | |||||||
| 		else { | 		else { | ||||||
| 			var horizontalFragments = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.present .fragment:not(.visible)' ); | 			var horizontalFragments = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.present .fragment:not(.visible)' ); | ||||||
| 			if( horizontalFragments.length ) { | 			if( horizontalFragments.length ) { | ||||||
| 				addClass( horizontalFragments[0], 'visible' ); | 				horizontalFragments[0].classList.add( 'visible' ); | ||||||
| 				return true; | 				return true; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| @@ -603,7 +603,7 @@ var Reveal = (function(){ | |||||||
| 		if( document.querySelector( VERTICAL_SLIDES_SELECTOR + '.present' ) ) { | 		if( document.querySelector( VERTICAL_SLIDES_SELECTOR + '.present' ) ) { | ||||||
| 			var verticalFragments = document.querySelectorAll( VERTICAL_SLIDES_SELECTOR + '.present .fragment.visible' ); | 			var verticalFragments = document.querySelectorAll( VERTICAL_SLIDES_SELECTOR + '.present .fragment.visible' ); | ||||||
| 			if( verticalFragments.length ) { | 			if( verticalFragments.length ) { | ||||||
| 				removeClass( verticalFragments[ verticalFragments.length - 1 ], 'visible' ); | 				verticalFragments[ verticalFragments.length - 1 ].classList.remove( 'visible' ); | ||||||
| 				return true; | 				return true; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| @@ -611,7 +611,7 @@ var Reveal = (function(){ | |||||||
| 		else { | 		else { | ||||||
| 			var horizontalFragments = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.present .fragment.visible' ); | 			var horizontalFragments = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.present .fragment.visible' ); | ||||||
| 			if( horizontalFragments.length ) { | 			if( horizontalFragments.length ) { | ||||||
| 				removeClass( horizontalFragments[ horizontalFragments.length - 1 ], 'visible' ); | 				horizontalFragments[ horizontalFragments.length - 1 ].classList.remove( 'visible' ); | ||||||
| 				return true; | 				return true; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| @@ -619,20 +619,6 @@ var Reveal = (function(){ | |||||||
| 		return false; | 		return false; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	function hasClass( node, klass ) { |  | ||||||
| 		return !!node.className.match( klass ); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	function addClass( node, klass ) { |  | ||||||
| 		if( !hasClass( node, klass ) ) { |  | ||||||
| 			node.className += ' ' + klass; |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	function removeClass( node, klass ) { |  | ||||||
| 		node.className = node.className.replace( klass, '' ); |  | ||||||
| 	} |  | ||||||
| 	 |  | ||||||
| 	/** | 	/** | ||||||
| 	 * Triggers a navigation to the specified indices. | 	 * Triggers a navigation to the specified indices. | ||||||
| 	 *  | 	 *  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user