A jQuery plugin to dynamically apply Dan Eden's animate.css animations with callbacks
Install with Bower
bower install animateCSS
Download the production version or the development version.
In your web page:
<script src="jquery.js"></script>
<script src="dist/animatecss.min.js"></script>
<script>
$(document).ready( function(){
$('#your-id').animateCSS("fadeIn");
});
</script>
{
infinite: false, // True or False
animationClass: "animated", // Can be any class
delay: 0 // Can be any value (in ms)
duration: 1000 // Can be any value (in ms)
callback: // Any function
}
When using infinite: true
and a delay, the delay will only occur before the first loop, not on every loop.
$('#your-id').animateCSS('fadeIn');
$('#your-id').animateCSS('fadeIn', function(){
console.log('Boom! Animation Complete');
});
$('#your-id').animateCSS('fadeIn', {delay: 500});
$('#your-id').animateCSS('fadeIn', {
delay: 1000,
callback: function(){
console.log('Boom! Animation Complete');
}
});
$('#your-id').animateCSS('fadeIn', {duration: 3000});
If you use the standard jQuery chaining mechanism, each animation will fire at the same time so you have to include the next animation in the callback.
$('#your-id').animateCSS('fadeInUp', function() {
console.log('Boom! First animation Complete');
$(this).animateCSS("fadeOutUp", function(){
console.log('Boom Boom! Second animation Complete');
})
});
You can offset animations by using the delay mechanism
$('#your-id').animateCSS('fadeIn');
$('#another-id').animateCSS('fadeIn', {delay:100});
If you want to hide an element when the page loads and then apply an effect, it might look something like this:
.js #your-id {
visibility:hidden;
}
$(window).load( function(){
$('#your-id').animateCSS('fadeIn', function(){
console.log('Boom! Animation Complete');
});
});
Please consult the official changelog