A cross-browser library of CSS animations.
%JQREQUIRE{"animate"}%
. There are two ways to make use of this library.
animated
to the element you want to animate
infinite
in case that you also want it to be aninated in an infinite loop
This is a small convenience wrapper that adds a bit more control over the kind of animation, i.e. in addition to the direct name of the effect you may also choose a random effect or one of a group of effects:
jqAnimateCSS
to the element to animate
Parameter | Description | Default |
---|---|---|
data-effect="..." |
either an effect name as listed below, or the name of an effect group to chose a random effect from, or the string random for a random effect among all known ones, or a comma separated list of effects |
|
data-infinite="true/false |
switch on/off an infinite effect loop | false |
refresh
signal will the effect be repeated, or another one will be chosen among the set of effects configured.
You type:
<h3 id="myElem" class="jqAnimateCSS foswikiCenter" data-effect="attentionSeekers">Hello World</h3> %BUTTON{"Refresh" onclick="jQuery('#myElem').trigger('refresh')"}%You get:
jqAnimateCSS
element will be initialized by an animateCSS
javascript object which takes over control of the animation as well as offers a few methods that come in handy when dealing with animations.
You may access the animateCSS
instance of a jqAnimateCSS
element using jQuery.data()
method:
jQuery(function($) { var elemCtrl = $("#myElem").data("animateCSS"); elemCtrl.animate().then(function() { console.log("animation finished"); }); $("#myElem").on("start", function() { console.log("the animation started"); }); $("#myElem").on("stop", function() { console.log("the animation ended"); }); });The
.animate()
method may be used to start the animation. It returns a promise that will be resolved once the animation finished.
The element controller fires two events:
start
: fired right before the animation starts
stop
: triggered once the animation finished
stop
event is provided in addition to the different browser events fired when a css animation stopped.
So listening on an animateCSS
element via $("#myElem").on("finish", function() {...})
is equivalent to the much more complicated standard way
$("#myElem").on("animationend webkitAnimationEnd MSAnimationEnd oAnimationEnd mozAnimationEnd oanimationend", function() { ... });
to cover all browsers.
Group | Effects |
---|---|
attentionSeekers | bounce, flash, headShake, jello, pulse, rubberBand, shake, swing, tada, wobble |
bouncingEntrances | bounceIn, bounceInDown, bounceInLeft, bounceInRight, bounceInUp |
bouncingExits | bounceOut, bounceOutDown, bounceOutLeft, bounceOutRight, bounceOutUp |
fadingEntrances | fadeIn, fadeInDown, fadeInDownBig, fadeInLeft, fadeInLeftBig, fadeInRight, fadeInRightBig, fadeInUp, fadeInUpBig |
fadingExits | fadeOut, fadeOutDown, fadeOutDownBig, fadeOutLeft, fadeOutLeftBig, fadeOutRight, fadeOutRightBig, fadeOutUp, fadeOutUpBig |
flippers | flip, flipInX, flipInY, flipOutX, flipOutY |
lightspeed | lightSpeedIn, lightSpeedOut |
rotatingEntrances | rotateIn, rotateInDownLeft, rotateInDownRight, rotateInUpLeft, rotateInUpRight |
rotatingExits | rotateOut, rotateOutDownLeft, rotateOutDownRight, rotateOutUpLeft, rotateOutUpRight |
slidingEntrances | slideInDown, slideInLeft, slideInRight, slideInUp |
slidingExits | slideOutDown, slideOutLeft, slideOutRight, slideOutUp |
specials | hinge, jackInTheBox, rollIn, rollOut |
zoomingEntrances | zoomIn, zoomInDown, zoomInLeft, zoomInRight, zoomInUp |
zoomingExits | zoomOut, zoomOutDown, zoomOutLeft, zoomOutRight, zoomOutUp |