From 5c4577f78c4db350ebcae1e96698721c0400fb7f Mon Sep 17 00:00:00 2001 From: gnarf Date: Wed, 2 Mar 2011 20:58:10 -0600 Subject: [PATCH] Cleaning up effects.core _normalizeArguments a bit more --- ui/jquery.effects.core.js | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/ui/jquery.effects.core.js b/ui/jquery.effects.core.js index 84e73088970..6618a22365d 100644 --- a/ui/jquery.effects.core.js +++ b/ui/jquery.effects.core.js @@ -412,41 +412,47 @@ $.extend($.effects, { // return an effect options object for the given parameters: function _normalizeArguments( effect, options, speed, callback ) { - var effectObj = { - effect: effect - }; - // passed an effect options object: + // short path for passing an effect options object: if ( $.isPlainObject( effect ) ) { return effect; } - if ( $.isFunction(options) ) { + // convert to an object + effect = { effect: effect }; + + // catch (effect, callback) + if ( $.isFunction( options ) ) { callback = options; speed = null; options = {}; } - if (typeof options == 'number' || $.fx.speeds[options]) { + + // catch (effect, speed, ?) + if ( $.type( options ) == 'number' || $.fx.speeds[ options ]) { callback = speed; speed = options; options = {}; } - if ( $.isFunction(speed) ) { + + // catch (effect, options, callback) + if ( $.isFunction( speed ) ) { callback = speed; speed = null; } + // add options to effect if ( options ) { - $.extend( effectObj, options ); + $.extend( effect, options ); } speed = speed || options.duration; - effectObj.duration = $.fx.off ? 0 : typeof speed == 'number' - ? speed : speed in $.fx.speeds ? $.fx.speeds[speed] : $.fx.speeds._default; + effect.duration = $.fx.off ? 0 : typeof speed == 'number' + ? speed : speed in $.fx.speeds ? $.fx.speeds[ speed ] : $.fx.speeds._default; - effectObj.complete = callback || options.complete; + effect.complete = callback || options.complete; - return effectObj; + return effect; } function standardSpeed( speed ) {