gifs now restart when their slide container is shown
This commit is contained in:
		| @@ -201,6 +201,9 @@ | |||||||
| 							<pre><code style="word-wrap: break-word;"><section data-background-video="video.mp4,video.webm"></code></pre> | 							<pre><code style="word-wrap: break-word;"><section data-background-video="video.mp4,video.webm"></code></pre> | ||||||
| 						</div> | 						</div> | ||||||
| 					</section> | 					</section> | ||||||
|  | 					<section data-background="http://i.giphy.com/90F8aUepslB84.gif"> | ||||||
|  | 						<h2>... and GIFs!</h2> | ||||||
|  | 					</section> | ||||||
| 				</section> | 				</section> | ||||||
|  |  | ||||||
| 				<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom"> | 				<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom"> | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -2580,6 +2580,15 @@ | |||||||
| 				currentVideo.play(); | 				currentVideo.play(); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | 			var backgroundImageURL = currentBackground.style.backgroundImage || ''; | ||||||
|  |  | ||||||
|  | 			// Restart GIFs (doesn't work in Firefox) | ||||||
|  | 			if( /\.gif/i.test( backgroundImageURL ) ) { | ||||||
|  | 				currentBackground.style.backgroundImage = ''; | ||||||
|  | 				window.getComputedStyle( currentBackground ).opacity; | ||||||
|  | 				currentBackground.style.backgroundImage = backgroundImageURL; | ||||||
|  | 			} | ||||||
|  |  | ||||||
| 			// Don't transition between identical backgrounds. This | 			// Don't transition between identical backgrounds. This | ||||||
| 			// prevents unwanted flicker. | 			// prevents unwanted flicker. | ||||||
| 			var previousBackgroundHash = previousBackground ? previousBackground.getAttribute( 'data-background-hash' ) : null; | 			var previousBackgroundHash = previousBackground ? previousBackground.getAttribute( 'data-background-hash' ) : null; | ||||||
| @@ -2826,6 +2835,13 @@ | |||||||
| 	function startEmbeddedContent( slide ) { | 	function startEmbeddedContent( slide ) { | ||||||
|  |  | ||||||
| 		if( slide && !isSpeakerNotes() ) { | 		if( slide && !isSpeakerNotes() ) { | ||||||
|  | 			// Restart GIFs | ||||||
|  | 			toArray( slide.querySelectorAll( 'img[src$=".gif"]' ) ).forEach( function( el ) { | ||||||
|  | 				// Setting the same unchanged source like this was confirmed | ||||||
|  | 				// to work in Chrome, FF & Safari | ||||||
|  | 				el.setAttribute( 'src', el.getAttribute( 'src' ) ); | ||||||
|  | 			} ); | ||||||
|  |  | ||||||
| 			// HTML5 media elements | 			// HTML5 media elements | ||||||
| 			toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { | 			toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { | ||||||
| 				if( el.hasAttribute( 'data-autoplay' ) ) { | 				if( el.hasAttribute( 'data-autoplay' ) ) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user