Effects core: Refactored .effect() method; now uses _normalizeArguments and honors jQuery.fx.off. Fixes #4328 (IE6 with fx.off and highlight throws a script error).

This commit is contained in:
Scott González 2009-06-11 13:06:20 +00:00
parent e50d9d3515
commit 4175ca180a

View File

@ -167,8 +167,17 @@ $.fn.extend({
_toggleClass: $.fn.toggleClass,
// New effect methods
effect: function(fx, options, speed, callback) {
return $.effects[fx] ? $.effects[fx].call(this, {method: fx, options: options || {}, duration: speed, callback: callback }) : null;
effect: function(effect, options, speed, callback) {
var args = _normalizeArguments.apply(this, arguments),
// TODO: make effects takes actual parameters instead of a hash
args2 = {
options: args[1],
duration: args[2],
callback: args[3]
},
effectMethod = $.effects[effect];
return effectMethod && !$.fx.off ? effectMethod.call(this, args2) : this;
},
show: function(speed) {