aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.effects.fold.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/jquery.effects.fold.js')
-rw-r--r--ui/jquery.effects.fold.js94
1 files changed, 45 insertions, 49 deletions
diff --git a/ui/jquery.effects.fold.js b/ui/jquery.effects.fold.js
index 6100c33a1..de7530bf0 100644
--- a/ui/jquery.effects.fold.js
+++ b/ui/jquery.effects.fold.js
@@ -12,61 +12,57 @@
*/
(function( $, undefined ) {
-$.effects.effect.fold = function( o ) {
+$.effects.effect.fold = function( o, next ) {
- return this.queue( function() {
+ // Create element
+ var el = $( this ),
+ props = ["position","top","bottom","left","right","height","width"],
+ mode = $.effects.setMode(el, o.mode || "hide"),
+ size = o.size || 15,
+ percent = /([0-9]+)%/.exec(size),
+ horizFirst = !!o.horizFirst,
+ widthFirst = ((mode == "show") != horizFirst),
+ ref = widthFirst ? ["width", "height"] : ["height", "width"],
+ duration = o.duration / 2,
+ wrapper, distance;
- // Create element
- var el = $( this ),
- props = ['position','top','bottom','left','right','height','width'],
- mode = $.effects.setMode(el, o.mode || 'hide'),
- size = o.size || 15,
- percent = /([0-9]+)%/.exec(size),
- horizFirst = !!o.horizFirst,
- widthFirst = ((mode == 'show') != horizFirst),
- ref = widthFirst ? ['width', 'height'] : ['height', 'width'],
- duration = o.duration / 2,
- wrapper, distance;
+ $.effects.save( el, props );
+ el.show();
- $.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[ ( mode == 'hide') ? 0 : 1 ];
- }
- mode == 'show' && wrapper.css( horizFirst ? {
- height: 0,
- width: size
- } : {
- height: size,
- width: 0
- });
+ // Create Wrapper
+ wrapper = $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+ distance = widthFirst ?
+ [ wrapper.width(), wrapper.height() ] :
+ [ wrapper.height(), wrapper.width() ];
- // Animation
- var animation1 = {}, animation2 = {};
- animation1[ ref[ 0 ] ] = mode == 'show' ? distance[ 0 ] : size;
- animation2[ ref[ 1 ] ] = mode == 'show' ? distance[ 1 ] : 0;
+ if ( percent ) {
+ size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ ( mode == "hide") ? 0 : 1 ];
+ }
+ mode == "show" && wrapper.css( horizFirst ? {
+ height: 0,
+ width: size
+ } : {
+ height: size,
+ width: 0
+ });
- // Animate
- wrapper
- .animate( animation1, duration, o.easing )
- .animate( animation2, duration, o.easing, function() {
- (mode == 'hide') && el.hide();
- $.effects.restore( el, props );
- $.effects.removeWrapper( el );
- jQuery.isFunction(o.complete) && o.complete.apply( el[ 0 ], arguments );
- el.dequeue();
- });
+ // Animation
+ var animation1 = {}, animation2 = {};
+ animation1[ ref[ 0 ] ] = mode == "show" ? distance[ 0 ] : size;
+ animation2[ ref[ 1 ] ] = mode == "show" ? distance[ 1 ] : 0;
- });
+ // Animate
+ wrapper
+ .animate( animation1, duration, o.easing )
+ .animate( animation2, duration, o.easing, function() {
+ (mode == "hide") && el.hide();
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ jQuery.isFunction(o.complete) && o.complete.apply( el[ 0 ], arguments );
+ next();
+ });
};