jquery fx: Shortening the code additions on [6037].

This commit is contained in:
Ariel Flesler 2009-01-05 12:05:38 +00:00
parent 558d03f24c
commit e216243a03

View file

@ -1,11 +1,16 @@
var elemdisplay = {}, var elemdisplay = {},
fxHeight = [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], fxAttrs = [
fxWidth = [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], // height animations
fxOpacity = [ "opacity" ]; [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
// width animations
[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
// opacity animations
[ "opacity" ]
];
function genFx( type, width, height, extra ){ function genFx( type, num ){
var obj = {}; var obj = {};
jQuery.each(width.concat( height || [], extra || []), function(){ jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function(){
obj[ this ] = type; obj[ this ] = type;
}); });
return obj; return obj;
@ -14,7 +19,7 @@ function genFx( type, width, height, extra ){
jQuery.fn.extend({ jQuery.fn.extend({
show: function(speed,callback){ show: function(speed,callback){
if ( speed ) { if ( speed ) {
return this.animate( genFx("show", fxHeight, fxWidth, fxOpacity), speed, callback); return this.animate( genFx("show", 3), speed, callback);
} else { } else {
for ( var i = 0, l = this.length; i < l; i++ ){ for ( var i = 0, l = this.length; i < l; i++ ){
var old = jQuery.data(this[i], "olddisplay"); var old = jQuery.data(this[i], "olddisplay");
@ -48,7 +53,7 @@ jQuery.fn.extend({
hide: function(speed,callback){ hide: function(speed,callback){
if ( speed ) { if ( speed ) {
return this.animate( genFx("hide", fxHeight, fxWidth, fxOpacity), speed, callback); return this.animate( genFx("hide", 3), speed, callback);
} else { } else {
for ( var i = 0, l = this.length; i < l; i++ ){ for ( var i = 0, l = this.length; i < l; i++ ){
var old = jQuery.data(this[i], "olddisplay"); var old = jQuery.data(this[i], "olddisplay");
@ -73,7 +78,7 @@ jQuery.fn.extend({
var state = bool ? fn : jQuery(this).is(":hidden"); var state = bool ? fn : jQuery(this).is(":hidden");
jQuery(this)[ state ? "show" : "hide" ](); jQuery(this)[ state ? "show" : "hide" ]();
}) : }) :
this.animate(genFx("toggle", fxHeight, fxWidth, fxOpacity), fn, fn2); this.animate(genFx("toggle", 3), fn, fn2);
}, },
fadeTo: function(speed,to,callback){ fadeTo: function(speed,to,callback){
@ -170,9 +175,9 @@ jQuery.fn.extend({
// Generate shortcuts for custom animations // Generate shortcuts for custom animations
jQuery.each({ jQuery.each({
slideDown: genFx("show", fxHeight), slideDown: genFx("show", 1),
slideUp: genFx("hide", fxHeight), slideUp: genFx("hide", 1),
slideToggle: genFx("toggle", fxHeight), slideToggle: genFx("toggle", 1),
fadeIn: { opacity: "show" }, fadeIn: { opacity: "show" },
fadeOut: { opacity: "hide" } fadeOut: { opacity: "hide" }
}, function( name, props ){ }, function( name, props ){