source: trunk/themes/default/js/ui/jquery.ui.effect-fold.js @ 28780

Last change on this file since 28780 was 28780, checked in by rvelices, 10 years ago

upgrade jquery ui from 1.10.1 to 1.10.4

File size: 1.7 KB
Line 
1/*!
2 * jQuery UI Effects Fold 1.10.4
3 * http://jqueryui.com
4 *
5 * Copyright 2014 jQuery Foundation and other contributors
6 * Released under the MIT license.
7 * http://jquery.org/license
8 *
9 * http://api.jqueryui.com/fold-effect/
10 *
11 * Depends:
12 *      jquery.ui.effect.js
13 */
14(function( $, undefined ) {
15
16$.effects.effect.fold = function( o, done ) {
17
18        // Create element
19        var el = $( this ),
20                props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
21                mode = $.effects.setMode( el, o.mode || "hide" ),
22                show = mode === "show",
23                hide = mode === "hide",
24                size = o.size || 15,
25                percent = /([0-9]+)%/.exec( size ),
26                horizFirst = !!o.horizFirst,
27                widthFirst = show !== horizFirst,
28                ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ],
29                duration = o.duration / 2,
30                wrapper, distance,
31                animation1 = {},
32                animation2 = {};
33
34        $.effects.save( el, props );
35        el.show();
36
37        // Create Wrapper
38        wrapper = $.effects.createWrapper( el ).css({
39                overflow: "hidden"
40        });
41        distance = widthFirst ?
42                [ wrapper.width(), wrapper.height() ] :
43                [ wrapper.height(), wrapper.width() ];
44
45        if ( percent ) {
46                size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];
47        }
48        if ( show ) {
49                wrapper.css( horizFirst ? {
50                        height: 0,
51                        width: size
52                } : {
53                        height: size,
54                        width: 0
55                });
56        }
57
58        // Animation
59        animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;
60        animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;
61
62        // Animate
63        wrapper
64                .animate( animation1, duration, o.easing )
65                .animate( animation2, duration, o.easing, function() {
66                        if ( hide ) {
67                                el.hide();
68                        }
69                        $.effects.restore( el, props );
70                        $.effects.removeWrapper( el );
71                        done();
72                });
73
74};
75
76})(jQuery);
Note: See TracBrowser for help on using the repository browser.