diff options
author | Scott González <scott.gonzalez@gmail.com> | 2012-06-15 12:47:12 -0400 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2012-06-15 12:47:12 -0400 |
commit | 92fb5567a25080f2064710fc24f0c6c073424cf3 (patch) | |
tree | 641a6f85bf957c07d3c804f5da711028a605bc93 /ui/jquery.ui.effect-fold.js | |
parent | d569b52838594c3e7e732d31dbf07dc2072edfdb (diff) | |
download | jquery-ui-92fb5567a25080f2064710fc24f0c6c073424cf3.tar.gz jquery-ui-92fb5567a25080f2064710fc24f0c6c073424cf3.zip |
Effects: Renamed all files.
Diffstat (limited to 'ui/jquery.ui.effect-fold.js')
-rw-r--r-- | ui/jquery.ui.effect-fold.js | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/ui/jquery.ui.effect-fold.js b/ui/jquery.ui.effect-fold.js new file mode 100644 index 000000000..47b7a8395 --- /dev/null +++ b/ui/jquery.ui.effect-fold.js @@ -0,0 +1,75 @@ +/*! + * jQuery UI Effects Fold @VERSION + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.ui.effect.js + */ +(function( $, undefined ) { + +$.effects.effect.fold = function( o, done ) { + + // Create element + var el = $( this ), + props = [ "position", "top", "bottom", "left", "right", "height", "width" ], + mode = $.effects.setMode( el, o.mode || "hide" ), + show = mode === "show", + hide = mode === "hide", + size = o.size || 15, + percent = /([0-9]+)%/.exec( size ), + horizFirst = !!o.horizFirst, + widthFirst = show !== horizFirst, + ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ], + duration = o.duration / 2, + wrapper, distance, + animation1 = {}, + animation2 = {}; + + $.effects.save( el, props ); + el.show(); + + // Create Wrapper + wrapper = $.effects.createWrapper( el ).css({ + overflow: "hidden" + }); + distance = widthFirst ? + [ wrapper.width(), wrapper.height() ] : + [ wrapper.height(), wrapper.width() ]; + + if ( percent ) { + size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ]; + } + if ( show ) { + wrapper.css( horizFirst ? { + height: 0, + width: size + } : { + height: size, + width: 0 + }); + } + + // Animation + animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size; + animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0; + + // Animate + wrapper + .animate( animation1, duration, o.easing ) + .animate( animation2, duration, o.easing, function() { + if ( hide ) { + el.hide(); + } + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); + done(); + }); + +}; + +})(jQuery); |