auto-animate docs
This commit is contained in:
		
							parent
							
								
									f958820b5b
								
							
						
					
					
						commit
						beb2ad6a92
					
				
					 1 changed files with 28 additions and 11 deletions
				
			
		
							
								
								
									
										39
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										39
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
					@ -336,11 +336,10 @@ Reveal.initialize({
 | 
				
			||||||
	// used to dictate which elements we can animate between.
 | 
						// used to dictate which elements we can animate between.
 | 
				
			||||||
	autoAnimateMatcher: null,
 | 
						autoAnimateMatcher: null,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Default settings for our auto-animate transitions, can be
 | 
						// Default settings for or auto-animate transitions, can be
 | 
				
			||||||
	// overridden per-slide or per-element via data arguments
 | 
						// overridden per-slide or per-element via data arguments
 | 
				
			||||||
	autoAnimateEasing: 'ease',
 | 
						autoAnimateEasing: 'ease',
 | 
				
			||||||
	autoAnimateDuration: 1.0,
 | 
						autoAnimateDuration: 1.0,
 | 
				
			||||||
	autoAnimateUnmatched: true,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// CSS properties that can be auto-animated. Position & scale
 | 
						// CSS properties that can be auto-animated. Position & scale
 | 
				
			||||||
	// is matched separately so there's no need to include styles
 | 
						// is matched separately so there's no need to include styles
 | 
				
			||||||
| 
						 | 
					@ -578,6 +577,8 @@ Reveal.configure({
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Auto-Animate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
reveal.js can automatically animate elements across slides. All you need to do is add `data-auto-animate` to two adjacent slide `<section>` elements and Auto-Animate will animate all matching elements between the two.
 | 
					reveal.js can automatically animate elements across slides. All you need to do is add `data-auto-animate` to two adjacent slide `<section>` elements and Auto-Animate will animate all matching elements between the two.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Here's a simple example to give you a better idea of how it can be used. The resulting animation will be the word "Magic" sliding 100px downwards.
 | 
					Here's a simple example to give you a better idea of how it can be used. The resulting animation will be the word "Magic" sliding 100px downwards.
 | 
				
			||||||
| 
						 | 
					@ -590,24 +591,35 @@ Here's a simple example to give you a better idea of how it can be used. The res
 | 
				
			||||||
</section>
 | 
					</section>
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This example uses the "top" property to move the element but internally reveal.js will use a CSS transform to ensure smooth movement. This same approach to animation works with most animatable CSS properties meaning you can transition things like `position`, `font-size`, `line-height`, `color`, `background-color` and `padding`.
 | 
					This example uses the `top` property to move the element but internally reveal.js will use a CSS transform to ensure smooth movement. This same approach to animation works with most animatable CSS properties meaning you can transition things like `position`, `font-size`, `line-height`, `color`, `background-color` and `padding`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### How Elements are Matched
 | 
					#### How Elements are Matched
 | 
				
			||||||
When you navigate between two auto-animated slides we'll do our best to automatically find matching elements between the two slides. For text, we consider it a match if both the text contents and node type are identical. For images, videos and iframes we compare the `src` attribute. We also take into account the order in which the element appears in the DOM.
 | 
					When you navigate between two auto-animated slides we'll do our best to automatically find matching elements between the two slides. For text, we consider it a match if both the text contents and node type are identical. For images, videos and iframes we compare the `src` attribute. We also take into account the order in which the element appears in the DOM.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In situations where automatic matching is not feasible you can give the objects that you want to animate between a matching `data-id` attribute. We prioritize matching `data-id` values above our automatic matching.
 | 
					In situations where automatic matching is not feasible you can give the objects that you want to animate between a matching `data-id` attribute. We prioritize matching `data-id` values above our automatic matching. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Slide & Element Specific Settings
 | 
					Here's an example where we've given both blocks a matching ID since automatic matching has no content to go on.
 | 
				
			||||||
You can override specific animation properties such as easing and duration either per-slide or individually for each animated element. The following configuration attributes are available:
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Attribute                        | Default    | Description 
 | 
					```html
 | 
				
			||||||
| :------------------------------- | :--------- | :---------- 
 | 
					<section data-auto-animate>
 | 
				
			||||||
 | 
					  <div data-id="box" style="padding: 20px; background: salmon;"></div>
 | 
				
			||||||
 | 
					</section>
 | 
				
			||||||
 | 
					<section data-auto-animate>
 | 
				
			||||||
 | 
					  <div data-id="box" style="padding: 20px; background: blue;"></div>
 | 
				
			||||||
 | 
					</section>
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Animation Settings
 | 
				
			||||||
 | 
					You can override specific animation settings such as easing and duration either for the whole presentation, per-slide or individually for each animated element. The following configuration attributes can be used to change the settings for a specific slide or element:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					| Attribute                                                                     | Default    | Description 
 | 
				
			||||||
 | 
					| :------------------------------- | ---------: | :---------- 
 | 
				
			||||||
| data-auto-animate-easing         | ease       | A CSS [easing function](https://developer.mozilla.org/en-US/docs/Web/CSS/easing-function).
 | 
					| data-auto-animate-easing         | ease       | A CSS [easing function](https://developer.mozilla.org/en-US/docs/Web/CSS/easing-function).
 | 
				
			||||||
| data-auto-animate-unmatched      | true       | Determines whether elements with no matching auto-animate target should fade in. Set to false to make them appear instantly.
 | 
					| data-auto-animate-unmatched      | true       | Determines whether elements with no matching auto-animate target should fade in. Set to false to make them appear instantly.
 | 
				
			||||||
| data-auto-animate-duration       | 1.0        | Animation duration in seconds.
 | 
					| data-auto-animate-duration       | 1.0        | Animation duration in seconds.
 | 
				
			||||||
| data-auto-animate-delay          | 0          | Animation delay in seconds (can only be set for specific elements, not at the slide level).
 | 
					| data-auto-animate-delay          | 0          | Animation delay in seconds (can only be set for specific elements, not at the slide level).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you'd like to change the defaults for the whole deck, please use the reveal.js config options:
 | 
					If you'd like to change the defaults for the whole deck, use the following config options:
 | 
				
			||||||
```javascript
 | 
					```javascript
 | 
				
			||||||
Reveal.initialize({
 | 
					Reveal.initialize({
 | 
				
			||||||
  autoAnimateEasing: 'ease-out',
 | 
					  autoAnimateEasing: 'ease-out',
 | 
				
			||||||
| 
						 | 
					@ -616,8 +628,13 @@ Reveal.initialize({
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Custom Element Matcher
 | 
					#### Events
 | 
				
			||||||
TBD. How to implement your own element matcher.
 | 
					Each time a presentation navigates between two auto-animated slides it dispatches the `autoanimate` event.
 | 
				
			||||||
 | 
					```javascript
 | 
				
			||||||
 | 
					Reveal.addEventListener( 'autoanimate', function( event ) {
 | 
				
			||||||
 | 
						// event.fromSlide, event.toSlide
 | 
				
			||||||
 | 
					} );
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Vertical Slide Navigation
 | 
					### Vertical Slide Navigation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue