Introduction
UI Transitions provide a wrapper for using css transitions in javascript providing cross-browser callbacks, advanced queuing, and feature detection.
Transitions are loosely coupled with other ui modules like accordions and dimmers to provide element transitions
Transitions are separated into three categories. Inward transitions, outward transitions, and static transitions. These three categories determine the visibility of the element after the animation completes.
Usage
Initializing
If a transition is called without any arguments all default settings will be used.
Visibility
After the animation queue finishes for an element, its final visibility state is determined. If an animation is an outward transition, the final visibility status will be hidden. If an animation is inward the element will be visible after the animation finishes.
Transition Direction
If an animation direction is not specified it will automatically be determined based on the elements current visibility. For example, if the element is visible the animation "fade out" will be called, if the animation is not visible "fade in".
Static Animations
Animations that do not have an in or out animation defined, will maintain their current visibility after running
Looping
Animation loops can be controlled by setting looping. Callbacks will occur after each loop cycle
Passing in settings
Transitions use similar argument shorthand as animate. You can specify callback functions, animation duration, and other settings using the same arguments. Durations can be specified as strings with css shorthand, or with numbers.
Queuing animations
Animations called in sequence will be queued. Any queued animation will automatically determine the transition direction if none is specified.
Types
Emphasis
Flash
An element can flash to draw attention to itself
Shake
An element can shake to draw attention to its position
Pulse
An element can pulse to draw attention to its visibility
Tada
An element can give user positive feedback for an action
Bounce
An element can bounce to politely remind you of itself
Appearance
Flip
An element can flip into or out of view vertically or horizontally
Fade
An element can fade into or out of view descending and ascending
Scale
An element can scale into or out of view
Slide
An element can appear to slide in from above or below
Behavior
All the following behaviors can be called using the syntax$('.foo').transition('behavior name', argumentOne, argumentTwo)
repaint | Triggers reflow on element |
looping | Enables animation looping |
remove looping | Removes looping state from element |
stop | Stops current transition |
start | Restarts a stopped transition |
toggle | Toggles current transition on/off |
duration(duration) | Modifies element animation duration |
save conditions | Saves all class names and styles to cache to be retrieved after animation |
restore conditions | Adds back cached names and styles to element |
get animation name | Returns vendor prefixed animation property for animationname |
get animation event | Returns vendor prefixed animation property for animationend |
is animating | Returns whether transition is currently occurring |
is looping | Returns whether animation looping is set |
is visible | Returns whether element is visible |
Settings
Transition Settings
Form settings modify the transition behavior
Setting | Default | Description |
---|---|---|
animation | fade | Named animation event to used. Must be defined in css. |
duration | 700ms | Duration of the css transition animation |
queue | true | Whether to automatically queue animation if another is occurring |
Callbacks
Callback settings specify a function to occur after a specific behavior.
Setting | Context | Description |
---|---|---|
complete | transitioned element | Callback on each transition complete |
DOM Settings
DOM settings specify how this module should interface with the DOM
Setting | Default | Description |
---|---|---|
namespace | transition | Event namespace. Makes sure module teardown does not effect other events attached to an element. |
className |
className : {
animating : 'animating',
disabled : 'disabled',
hidden : 'hidden',
inward : 'in',
loading : 'loading',
looping : 'looping',
outward : 'out',
transition : 'ui transition',
visible : 'visible'
}
|
Class names used to attach style to state |
Debug Settings
Debug settings controls debug output to the console
Setting | Default | Description |
---|---|---|
name | Transition | Name used in debug logs |
debug | True | Provides standard debug output to console |
performance | True | Provides standard debug output to console |
verbose | True | Provides ancillary debug output to console |
errors |
errors : {
noAnimation : 'There is no css animation matching the one you specified.',
method : 'The method you called is not defined'
}
|