aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.effect-fold.js
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2012-06-15 12:47:12 -0400
committerScott González <scott.gonzalez@gmail.com>2012-06-15 12:47:12 -0400
commit92fb5567a25080f2064710fc24f0c6c073424cf3 (patch)
tree641a6f85bf957c07d3c804f5da711028a605bc93 /ui/jquery.ui.effect-fold.js
parentd569b52838594c3e7e732d31dbf07dc2072edfdb (diff)
downloadjquery-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.js75
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);