mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
37dcc3e21d
For instance, this is useful for the jquery-ui-rails gem, which does not use jQuery UI's own minification, but relies on Rails to minify the files where necessary. Rails in turn uses UglifyJS for JS and YUI for CSS, both of which respect the /*! ... */ convention.
63 lines
1.3 KiB
JavaScript
63 lines
1.3 KiB
JavaScript
/*!
|
|
* jQuery UI Effects Pulsate @VERSION
|
|
*
|
|
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
|
* http://jquery.org/license
|
|
*
|
|
* http://docs.jquery.com/UI/Effects/Pulsate
|
|
*
|
|
* Depends:
|
|
* jquery.effects.core.js
|
|
*/
|
|
(function( $, undefined ) {
|
|
|
|
$.effects.effect.pulsate = function( o, done ) {
|
|
var elem = $( this ),
|
|
mode = $.effects.setMode( elem, o.mode || "show" ),
|
|
show = mode === "show",
|
|
hide = mode === "hide",
|
|
showhide = ( show || mode === "hide" ),
|
|
|
|
// showing or hiding leaves of the "last" animation
|
|
anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),
|
|
duration = o.duration / anims,
|
|
animateTo = 0,
|
|
queue = elem.queue(),
|
|
queuelen = queue.length,
|
|
i;
|
|
|
|
if ( show || !elem.is(":visible")) {
|
|
elem.css( "opacity", 0 ).show();
|
|
animateTo = 1;
|
|
}
|
|
|
|
// anims - 1 opacity "toggles"
|
|
for ( i = 1; i < anims; i++ ) {
|
|
elem.animate({
|
|
opacity: animateTo
|
|
}, duration, o.easing );
|
|
animateTo = 1 - animateTo;
|
|
}
|
|
|
|
elem.animate({
|
|
opacity: animateTo
|
|
}, duration, o.easing);
|
|
|
|
elem.queue(function() {
|
|
if ( hide ) {
|
|
elem.hide();
|
|
}
|
|
done();
|
|
});
|
|
|
|
// We just queued up "anims" animations, we need to put them next in the queue
|
|
if ( queuelen > 1 ) {
|
|
queue.splice.apply( queue,
|
|
[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
|
|
}
|
|
elem.dequeue();
|
|
};
|
|
|
|
})(jQuery);
|