root / drupal7 / sites / all / modules / jquery_update / replace / ui / ui / jquery.ui.effect-pulsate.js @ 503b3f7b
1 |
/*!
|
---|---|
2 |
* jQuery UI Effects Pulsate 1.10.2
|
3 |
* http://jqueryui.com
|
4 |
*
|
5 |
* Copyright 2013 jQuery Foundation and other contributors
|
6 |
* Released under the MIT license.
|
7 |
* http://jquery.org/license
|
8 |
*
|
9 |
* http://api.jqueryui.com/pulsate-effect/
|
10 |
*
|
11 |
* Depends:
|
12 |
* jquery.ui.effect.js
|
13 |
*/
|
14 |
(function( $, undefined ) { |
15 |
|
16 |
$.effects.effect.pulsate = function( o, done ) { |
17 |
var elem = $( this ), |
18 |
mode = $.effects.setMode( elem, o.mode || "show" ), |
19 |
show = mode === "show",
|
20 |
hide = mode === "hide",
|
21 |
showhide = ( show || mode === "hide" ),
|
22 |
|
23 |
// showing or hiding leaves of the "last" animation
|
24 |
anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ), |
25 |
duration = o.duration / anims, |
26 |
animateTo = 0,
|
27 |
queue = elem.queue(), |
28 |
queuelen = queue.length, |
29 |
i; |
30 |
|
31 |
if ( show || !elem.is(":visible")) { |
32 |
elem.css( "opacity", 0 ).show(); |
33 |
animateTo = 1;
|
34 |
} |
35 |
|
36 |
// anims - 1 opacity "toggles"
|
37 |
for ( i = 1; i < anims; i++ ) { |
38 |
elem.animate({ |
39 |
opacity: animateTo
|
40 |
}, duration, o.easing ); |
41 |
animateTo = 1 - animateTo;
|
42 |
} |
43 |
|
44 |
elem.animate({ |
45 |
opacity: animateTo
|
46 |
}, duration, o.easing); |
47 |
|
48 |
elem.queue(function() {
|
49 |
if ( hide ) {
|
50 |
elem.hide(); |
51 |
} |
52 |
done(); |
53 |
}); |
54 |
|
55 |
// We just queued up "anims" animations, we need to put them next in the queue
|
56 |
if ( queuelen > 1 ) { |
57 |
queue.splice.apply( queue, |
58 |
[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) ); |
59 |
} |
60 |
elem.dequeue(); |
61 |
}; |
62 |
|
63 |
})(jQuery); |