r2993 commited - Effects: handle switch parameter in toggleClass, fixes #4722

r2993 commited - Effects: handle switch parameter in toggleClass, fixes #4722


Revision: 2993
Author: cloudream@gmail.com
Date: Mon Jul 27 10:35:54 2009
Log: Effects: handle switch parameter in toggleClass, fixes #4722
http://code.google.com/p/jquery-ui/source/detail?r=2993
Modified:
/trunk/ui/effects.core.js
=======================================
--- /trunk/ui/effects.core.js    Sun Jul 12 17:51:03 2009
+++ /trunk/ui/effects.core.js    Mon Jul 27 10:35:54 2009
@@ -222,8 +222,18 @@
    },
    _toggleClass: $.fn.toggleClass,
-    toggleClass: function(classNames,speed,easing,callback) {
-        return ( (typeof speed !== "boolean") && speed ) ?
$.effects.animateClass.apply(this, [{ toggle: classNames
},speed,easing,callback]) : this._toggleClass(classNames, speed);
+    toggleClass: function(classNames, force, speed, easing, callback) {
+        if ( typeof force == "boolean" || force === undefined ) {
+            if ( !speed ) {
+                // without speed parameter;
+                return this._toggleClass(classNames, force);
+            } else {
+                return $.effects.animateClass.apply(this,
[(force?{add:classNames}:{remove:classNames}),speed,easing,callback]);
+            }
+        } else {
+            // without switch parameter;
+            return $.effects.animateClass.apply(this, [{ toggle: classNames
},force,speed,easing]);
+        }
    },
    switchClass: function(remove,add,speed,easing,callback) {