angelovcom.net

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

effect-drop.js (1543B)


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