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.fold.js

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

57 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2 * jQuery UI Effects Fold 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/Fold
9 *
10 * Depends:
11 * effects.core.js
12 */
13 (function($) {
14
15 $.effects.fold = function(o) {
16
17 return this.queue(function() {
18
19 // Create element
20 var el = $(this), props = ['position','top','left'];
21
22 // Set options
23 var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
24 var size = o.options.size || 15; // Default fold size
25 var horizFirst = !(!o.options.horizFirst); // Ensure a boolean value
26 var duration = o.duration ? o.duration / 2 : $.fx.speeds._default / 2;
27
28 // Adjust
29 $.effects.save(el, props); el.show(); // Save & Show
30 var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
31 var widthFirst = ((mode == 'show') != horizFirst);
32 var ref = widthFirst ? ['width', 'height'] : ['height', 'width'];
33 var distance = widthFirst ? [wrapper.width(), wrapper.height()] : [wrapper.height(), wrapper.width()];
34 var percent = /([0-9]+)%/.exec(size);
35 if(percent) size = parseInt(percent[1],10) / 100 * distance[mode == 'hide' ? 0 : 1];
36 if(mode == 'show') wrapper.css(horizFirst ? {height: 0, width: size} : {height: size, width: 0}); // Shift
37
38 // Animation
39 var animation1 = {}, animation2 = {};
40 animation1[ref[0]] = mode == 'show' ? distance[0] : size;
41 animation2[ref[1]] = mode == 'show' ? distance[1] : 0;
42
43 // Animate
44 wrapper.animate(animation1, duration, o.options.easing)
45 .animate(animation2, duration, o.options.easing, function() {
46 if(mode == 'hide') el.hide(); // Hide
47 $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
48 if(o.callback) o.callback.apply(el[0], arguments); // Callback
49 el.dequeue();
50 });
51
52 });
53
54 };
55
56 })(jQuery);
57