Projet

Général

Profil

Paste
Télécharger (1,44 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / jquery_update / replace / ui / ui / jquery.ui.effect-drop.js @ 503b3f7b

1
/*!
2
 * jQuery UI Effects Drop 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/drop-effect/
10
 *
11
 * Depends:
12
 *        jquery.ui.effect.js
13
 */
14
(function( $, undefined ) {
15

    
16
$.effects.effect.drop = function( o, done ) {
17

    
18
        var el = $( this ),
19
                props = [ "position", "top", "bottom", "left", "right", "opacity", "height", "width" ],
20
                mode = $.effects.setMode( el, o.mode || "hide" ),
21
                show = mode === "show",
22
                direction = o.direction || "left",
23
                ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
24
                motion = ( direction === "up" || direction === "left" ) ? "pos" : "neg",
25
                animation = {
26
                        opacity: show ? 1 : 0
27
                },
28
                distance;
29

    
30
        // Adjust
31
        $.effects.save( el, props );
32
        el.show();
33
        $.effects.createWrapper( el );
34

    
35
        distance = o.distance || el[ ref === "top" ? "outerHeight": "outerWidth" ]( true ) / 2;
36

    
37
        if ( show ) {
38
                el
39
                        .css( "opacity", 0 )
40
                        .css( ref, motion === "pos" ? -distance : distance );
41
        }
42

    
43
        // Animation
44
        animation[ ref ] = ( show ?
45
                ( motion === "pos" ? "+=" : "-=" ) :
46
                ( motion === "pos" ? "-=" : "+=" ) ) +
47
                distance;
48

    
49
        // Animate
50
        el.animate( animation, {
51
                queue: false,
52
                duration: o.duration,
53
                easing: o.easing,
54
                complete: function() {
55
                        if ( mode === "hide" ) {
56
                                el.hide();
57
                        }
58
                        $.effects.restore( el, props );
59
                        $.effects.removeWrapper( el );
60
                        done();
61
                }
62
        });
63
};
64

    
65
})(jQuery);