if ( elemdisplay[ tagName ] ) {
display = elemdisplay[ tagName ];
} else {
- var elem = jQuery("<" + this[i].tagName + " />").appendTo("body");
+ var elem = jQuery("<" + tagName + " />").appendTo("body");
display = elem.css("display");
if ( display === "none" )
elem.remove();
- elemdisplay[ this[i].tagName ] = display;
+ elemdisplay[ tagName ] = display;
}
this[i].style.display = jQuery.data(this[i], "olddisplay", display);
_toggle: jQuery.fn.toggle,
toggle: function( fn, fn2 ){
+ var bool = typeof fn === "boolean";
+
return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
this._toggle.apply( this, arguments ) :
- fn ?
+ fn == null || bool ?
+ this.each(function(){
+ var state = bool ? fn : jQuery(this).is(":hidden");
+ jQuery(this)[ state ? "show" : "hide" ]();
+ }) :
this.animate({
height: "toggle", width: "toggle", opacity: "toggle"
- }, fn, fn2) :
- this.each(function(){
- jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
- });
+ }, fn, fn2);
},
fadeTo: function(speed,to,callback){