]> source.dussan.org Git - jquery-ui.git/commitdiff
Effects: Fixed .show(), .hide(), .toggle() to accept a hash of options again. Fixes...
authorScott González <scott.gonzalez@gmail.com>
Mon, 20 Sep 2010 14:07:45 +0000 (10:07 -0400)
committerScott González <scott.gonzalez@gmail.com>
Mon, 20 Sep 2010 14:07:45 +0000 (10:07 -0400)
ui/jquery.effects.core.js

index 632e0e9325f17fd6a39191d86f85aef6268786f3..a835a062f8851dfb7dbfc1cb5cf2e16b261f9fe7 100644 (file)
@@ -439,6 +439,20 @@ function _normalizeArguments(effect, options, speed, callback) {
        return [effect, options, speed, callback];
 }
 
+function standardSpeed( speed ) {
+       // valid standard speeds
+       if ( !speed || typeof speed === "number" || $.fx.speeds[ speed ] ) {
+               return true;
+       }
+       
+       // invalid strings - treat as "normal" speed
+       if ( typeof speed === "string" && !$.effects[ speed ] ) {
+               return true;
+       }
+       
+       return false;
+}
+
 $.fn.extend({
        effect: function(effect, options, speed, callback) {
                var args = _normalizeArguments.apply(this, arguments),
@@ -455,7 +469,7 @@ $.fn.extend({
 
        _show: $.fn.show,
        show: function(speed) {
-               if (!speed || typeof speed == 'number' || $.fx.speeds[speed] || !$.effects[speed] ) {
+               if ( standardSpeed( speed ) ) {
                        return this._show.apply(this, arguments);
                } else {
                        var args = _normalizeArguments.apply(this, arguments);
@@ -466,7 +480,7 @@ $.fn.extend({
 
        _hide: $.fn.hide,
        hide: function(speed) {
-               if (!speed || typeof speed == 'number' || $.fx.speeds[speed] || !$.effects[speed] ) {
+               if ( standardSpeed( speed ) ) {
                        return this._hide.apply(this, arguments);
                } else {
                        var args = _normalizeArguments.apply(this, arguments);
@@ -478,8 +492,7 @@ $.fn.extend({
        // jQuery core overloads toggle and creates _toggle
        __toggle: $.fn.toggle,
        toggle: function(speed) {
-               if (!speed || typeof speed == 'number' || $.fx.speeds[speed] || !$.effects[speed]  ||
-                       typeof speed == 'boolean' || $.isFunction(speed)) {
+               if ( standardSpeed( speed ) || typeof speed === "boolean" || $.isFunction( speed ) ) {
                        return this.__toggle.apply(this, arguments);
                } else {
                        var args = _normalizeArguments.apply(this, arguments);