PluginProbe
RSVP and Event Management / 1.3.0
RSVP and Event Management v1.3.0
trunk 0.5.0 0.6.0 0.7.0 0.8.0 0.9.0 0.9.5 1.0.0 1.1.0 1.2.0 1.2.1 1.3.0 1.3.1 1.3.2 1.5.0 1.6.0 1.6.1 1.6.2 1.6.5 1.7.0 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 All 136 releases
rsvp / jquery-ui-1.7.2.custom / development-bundle / ui / effects.drop.js

effects.drop.js in RSVP and Event Management 1.3.0, at jquery-ui-1.7.2.custom/development-bundle/ui/effects.drop.js

51 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2 * jQuery UI Effects Drop 1.7.2
3 *
4 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
5 * Dual licensed under the MIT (MIT-LICENSE.txt)
6 * and GPL (GPL-LICENSE.txt) licenses.
7 *
8 * http://docs.jquery.com/UI/Effects/Drop
9 *
10 * Depends:
11 * effects.core.js
12 */
13 (function($) {
14
15 $.effects.drop = function(o) {
16
17 return this.queue(function() {
18
19 // Create element
20 var el = $(this), props = ['position','top','left','opacity'];
21
22 // Set options
23 var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
24 var direction = o.options.direction || 'left'; // Default Direction
25
26 // Adjust
27 $.effects.save(el, props); el.show(); // Save & Show
28 $.effects.createWrapper(el); // Create Wrapper
29 var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
30 var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
31 var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2);
32 if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift
33
34 // Animation
35 var animation = {opacity: mode == 'show' ? 1 : 0};
36 animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
37
38 // Animate
39 el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
40 if(mode == 'hide') el.hide(); // Hide
41 $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
42 if(o.callback) o.callback.apply(this, arguments); // Callback
43 el.dequeue();
44 }});
45
46 });
47
48 };
49
50 })(jQuery);
51