diff options
author | Alexander Schmitz <arschmitz@gmail.com> | 2015-07-14 22:01:41 -0400 |
---|---|---|
committer | Alexander Schmitz <arschmitz@gmail.com> | 2015-08-08 00:29:38 -0400 |
commit | 59ea81003da93d74414989a6c49498183e501289 (patch) | |
tree | d31adff0bfafbde19994e55c634a53bbcf599dc2 /ui/effects/effect-drop.js | |
parent | 3b2db14b3beb1d5abbb2b9d102b1afa14733fef2 (diff) | |
download | jquery-ui-59ea81003da93d74414989a6c49498183e501289.tar.gz jquery-ui-59ea81003da93d74414989a6c49498183e501289.zip |
Effects: Move individual effects into effects folder
Ref #13885
Diffstat (limited to 'ui/effects/effect-drop.js')
-rw-r--r-- | ui/effects/effect-drop.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/ui/effects/effect-drop.js b/ui/effects/effect-drop.js new file mode 100644 index 000000000..059fd54ca --- /dev/null +++ b/ui/effects/effect-drop.js @@ -0,0 +1,68 @@ +/*! + * jQuery UI Effects Drop @VERSION + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Drop Effect +//>>group: Effects +//>>description: Moves an element in one direction and hides it at the same time. +//>>docs: http://api.jqueryui.com/drop-effect/ +//>>demos: http://jqueryui.com/effect/ + +( function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define( [ + "jquery", + "../version", + "../effect" + ], factory ); + } else { + + // Browser globals + factory( jQuery ); + } +}( function( $ ) { + +return $.effects.define( "drop", "hide", function( options, done ) { + + var distance, + element = $( this ), + mode = options.mode, + show = mode === "show", + direction = options.direction || "left", + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + motion = ( direction === "up" || direction === "left" ) ? "-=" : "+=", + oppositeMotion = ( motion === "+=" ) ? "-=" : "+=", + animation = { + opacity: 0 + }; + + $.effects.createPlaceholder( element ); + + distance = options.distance || element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2; + + animation[ ref ] = motion + distance; + + if ( show ) { + element.css( animation ); + + animation[ ref ] = oppositeMotion + distance; + animation.opacity = 1; + } + + // Animate + element.animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + +} ) ); |