r2978 commited - effects: handle $.fn.toggleClass(classNames, switch, speed);

r2978 commited - effects: handle $.fn.toggleClass(classNames, switch, speed);


Revision: 2978
Author: cloudream@gmail.com
Date: Sun Jul 26 07:37:49 2009
Log: effects: handle $.fn.toggleClass(classNames, switch, speed);
http://code.google.com/p/jquery-ui/source/detail?r=2978
Modified:
/branches/dev/effects/ui/effects.core.js
=======================================
--- /branches/dev/effects/ui/effects.core.js    Sun Jun 14 06:42:53 2009
+++ /branches/dev/effects/ui/effects.core.js    Sun Jul 26 07:37:49 2009
@@ -370,8 +370,23 @@
    removeClass: function(classNames,speed,easing,callback) {
        return speed ? $.effects.animateClass.apply(this, [{ remove: classNames
},speed,easing,callback]) : this._removeClass(classNames);
    },
-    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" ) {
+            if ( !speed ) {
+                // $().toggleClass(classNames, switch);
+                return this._toggleClass(classNames, force);
+            } else {
+                //$().toggleClass(classNames, switch, speed[, easing, callback]);
+                if ( force ) {
+                    return $.effects.animateClass.apply(this, [{ add: classNames
},speed,easing,callback]);
+                } else {
+                    return $.effects.animateClass.apply(this, [{ remove: classNames
},speed,easing,callback]);
+                }
+            }
+        } else {
+            // $().toggleClass(classNames, speed[, easing, callback]);
+            return $.effects.animateClass.apply(this, [{ toggle: classNames
},force,speed,easing]);
+        }
    },
    morph: function(remove,add,speed,easing,callback) {
        return $.effects.animateClass.apply(this, [{ add: add, remove: remove
},speed,easing,callback]);