slideUp: function(speed,callback){
return this.animate({height: "hide"}, speed, callback);
},
+
+ slideToggle: function(speed,callback){
+ return this.each(function(){
+ var state = $(this).is(":hidden") ? "show" : "hide";
+ $(this).animate({height: state}, speed, callback);
+ });
+ },
/**
* Fade in all matched elements by adjusting their opacity.
// The users options
z.o = {
duration: options.duration || 400,
- complete: options.complete
+ complete: options.complete,
+ step: options.step
};
// The element
// Simple function for setting a style value
z.a = function(){
+ if ( options.step )
+ options.step.apply( elem, [ z.now ] );
+
if ( prop == "opacity" ) {
if (z.now == 1) z.now = 0.9999;
if (window.ActiveXObject)
// Get the current size
z.cur = function(){
- return parseFloat( jQuery.curCSS(z.el, prop) ) || z.max();
+ var r = parseFloat( jQuery.curCSS(z.el, prop) );
+ return r && r > -10000 ? r : z.max();
};
// Start an animation from one number to another
z.el.orig[prop] + "px" : z.el.orig[prop];
// set its height and/or width to auto
- jQuery.setAuto( z.el, prop );
+ if ( prop == 'height' || prop == 'width' )
+ jQuery.setAuto( z.el, prop );
// If a callback was provided, execute it
if( z.o.complete && z.o.complete.constructor == Function )