X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Feffects.js;h=bebcc431fe511188afdabbbf84497312ace65801;hb=1ddfdabbb983e2d3bf7f7200a3da5051f274e6fe;hp=c73fd929e6af74ac4b3f2c007d1d6b90bcd03818;hpb=0d2e4796dc97d3f9d6b5c1977e883b3ddf2f53d9;p=jquery.git diff --git a/src/effects.js b/src/effects.js index c73fd92..bebcc43 100644 --- a/src/effects.js +++ b/src/effects.js @@ -189,7 +189,7 @@ jQuery.fn.extend({ if ( parts ) { var end = parseFloat( parts[2] ), - unit = parts[3] || "px"; + unit = parts[3] || ( jQuery.cssNumber[ name ] ? "" : "px" ); // We need to compute starting value if ( unit !== "px" ) { @@ -348,7 +348,7 @@ jQuery.fx.prototype = { this.startTime = jQuery.now(); this.start = from; this.end = to; - this.unit = unit || this.unit || "px"; + this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" ); this.now = this.start; this.pos = this.state = 0; @@ -507,20 +507,24 @@ if ( jQuery.expr && jQuery.expr.filters ) { function defaultDisplay( nodeName ) { var stylesheets = document.styleSheets, disabled = [], - elem, display; + elem, display, style, idx; if ( !elemdisplay[ nodeName ] ) { // #8099 - If the end-dev has globally changed a default // display, we can temporarily disable their styles to check // for the correct default value - jQuery.each( stylesheets, function( idx, obj ) { - disabled[ idx ] = obj.disabled; - obj.disabled = true; - }); + for ( idx = 0; idx < stylesheets.length; ++idx ) { + style = stylesheets[ idx ]; + disabled[ idx ] = style.disabled; + style.disabled = true; + } - // Create a temp element and check it's default display - elem = jQuery("<" + nodeName + ">").appendTo("body"), + // To accurately check an element's default display value, + // create a temp element and check it's default display, this + // will ensure that the value returned is not a user-tampered + // value. + elem = jQuery("<" + nodeName + ">").appendTo("body"); display = elem.css("display"); // Remove temp element @@ -534,9 +538,9 @@ function defaultDisplay( nodeName ) { elemdisplay[ nodeName ] = display; // Restore stylesheets - jQuery.each( stylesheets, function( idx, obj ) { - this.disabled = disabled[ idx ]; - }); + for ( idx = 0; idx < stylesheets.length; ++idx ) { + stylesheets[ idx ].disabled = disabled[ idx ]; + } } return elemdisplay[ nodeName ];