|
1 | 1 | /*!
|
2 |
| - * jQuery UI Effects Clip 1.13.2 |
| 2 | + * jQuery UI Effects Drop 1.13.2 |
3 | 3 | * http://jqueryui.com
|
4 | 4 | *
|
5 | 5 | * Copyright jQuery Foundation and other contributors
|
6 | 6 | * Released under the MIT license.
|
7 | 7 | * http://jquery.org/license
|
8 | 8 | */
|
9 | 9 |
|
10 |
| -//>>label: Clip Effect |
| 10 | +//>>label: Drop Effect |
11 | 11 | //>>group: Effects
|
12 |
| -//>>description: Clips the element on and off like an old TV. |
13 |
| -//>>docs: http://api.jqueryui.com/clip-effect/ |
| 12 | +//>>description: Moves an element in one direction and hides it at the same time. |
| 13 | +//>>docs: http://api.jqueryui.com/drop-effect/ |
14 | 14 | //>>demos: http://jqueryui.com/effect/
|
15 | 15 |
|
16 |
| -( function( factory ) { |
17 |
| - "use strict"; |
| 16 | +(function (factory) { |
| 17 | + 'use strict'; |
18 | 18 |
|
19 |
| - if ( typeof define === "function" && define.amd ) { |
| 19 | + if (typeof define === 'function' && define.amd) { |
20 | 20 |
|
21 | 21 | // AMD. Register as an anonymous module.
|
22 |
| - define( [ |
23 |
| - "jquery", |
24 |
| - "../version", |
25 |
| - "../effect" |
26 |
| - ], factory ); |
| 22 | + define([ |
| 23 | + 'jquery', |
| 24 | + '../version', |
| 25 | + '../effect' |
| 26 | + ], factory); |
27 | 27 | } else {
|
28 | 28 |
|
29 | 29 | // Browser globals
|
30 |
| - factory( jQuery ); |
| 30 | + factory(jQuery); |
31 | 31 | }
|
32 |
| -} )( function( $ ) { |
33 |
| - "use strict"; |
| 32 | +})(function ($) { |
| 33 | + 'use strict'; |
34 | 34 |
|
35 |
| - return $.effects.define( "clip", "hide", function( options, done ) { |
36 |
| - var start, |
37 |
| - animate = {}, |
38 |
| - element = $( this ), |
39 |
| - direction = options.direction || "vertical", |
40 |
| - both = direction === "both", |
41 |
| - horizontal = both || direction === "horizontal", |
42 |
| - vertical = both || direction === "vertical"; |
| 35 | + return $.effects.define('drop', 'hide', function (options, done) { |
43 | 36 |
|
44 |
| - start = element.cssClip(); |
45 |
| - animate.clip = { |
46 |
| - top: vertical ? ( start.bottom - start.top ) / 2 : start.top, |
47 |
| - right: horizontal ? ( start.right - start.left ) / 2 : start.right, |
48 |
| - bottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom, |
49 |
| - left: horizontal ? ( start.right - start.left ) / 2 : start.left |
50 |
| - }; |
| 37 | + var distance, |
| 38 | + element = $(this), |
| 39 | + mode = options.mode, |
| 40 | + show = mode === 'show', |
| 41 | + direction = options.direction || 'left', |
| 42 | + ref = direction === 'up' || direction === 'down' ? 'top' : 'left', |
| 43 | + motion = direction === 'up' || direction === 'left' ? '-=' : '+=', |
| 44 | + oppositeMotion = motion === '+=' ? '-=' : '+=', |
| 45 | + animation = { |
| 46 | + opacity: 0 |
| 47 | + }; |
51 | 48 |
|
52 |
| - $.effects.createPlaceholder( element ); |
| 49 | + $.effects.createPlaceholder(element); |
53 | 50 |
|
54 |
| - if ( options.mode === "show" ) { |
55 |
| - element.cssClip( animate.clip ); |
56 |
| - animate.clip = start; |
| 51 | + distance = options.distance || |
| 52 | + element[ ref === 'top' ? 'outerHeight' : 'outerWidth' ](true) / 2; |
| 53 | + |
| 54 | + animation[ ref ] = motion + distance; |
| 55 | + |
| 56 | + if (show) { |
| 57 | + element.css(animation); |
| 58 | + |
| 59 | + animation[ ref ] = oppositeMotion + distance; |
| 60 | + animation.opacity = 1; |
57 | 61 | }
|
58 | 62 |
|
59 |
| - element.animate( animate, { |
| 63 | + // Animate |
| 64 | + element.animate(animation, { |
60 | 65 | queue: false,
|
61 | 66 | duration: options.duration,
|
62 | 67 | easing: options.easing,
|
63 | 68 | complete: done
|
64 |
| - } ); |
65 |
| - |
66 |
| - } ); |
| 69 | + }); |
| 70 | + }); |
67 | 71 |
|
68 |
| -} ); |
| 72 | +}); |
0 commit comments