From: John Resig Date: Mon, 13 Sep 2010 22:00:28 +0000 (-0400) Subject: Making some more adjustments to handle auto CSS properties. X-Git-Tag: 1.4.3rc1~116^2~5 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2bda99c18a0372eed02472e9d318676e180281da;p=jquery.git Making some more adjustments to handle auto CSS properties. --- diff --git a/src/css.js b/src/css.js index b95eb47d0..eb7567f79 100644 --- a/src/css.js +++ b/src/css.js @@ -77,7 +77,7 @@ jQuery.extend({ } else if ( !force && style[ name ] ) { ret = style[ name ]; - } else if ( curCSS ) { + } else if ( force !== false && curCSS ) { ret = curCSS( elem, name, origName ); } diff --git a/src/effects.js b/src/effects.js index 352ad4aea..4eb725bd9 100644 --- a/src/effects.js +++ b/src/effects.js @@ -349,7 +349,7 @@ jQuery.fx.prototype = { // Simple 'show' function show: function() { // Remember where we started, so that we can go back to it later - this.options.orig[this.prop] = jQuery.css( this.elem, this.prop ); + this.options.orig[this.prop] = jQuery.css( this.elem, this.prop, undefined, false ); this.options.show = true; // Begin the animation @@ -364,7 +364,7 @@ jQuery.fx.prototype = { // Simple 'hide' function hide: function() { // Remember where we started, so that we can go back to it later - this.options.orig[this.prop] = jQuery.css( this.elem, this.prop ); + this.options.orig[this.prop] = jQuery.css( this.elem, this.prop, undefined, false ); this.options.hide = true; // Begin the animation diff --git a/test/unit/effects.js b/test/unit/effects.js index 9ff5014c8..cb07f6a20 100644 --- a/test/unit/effects.js +++ b/test/unit/effects.js @@ -390,16 +390,16 @@ jQuery.each( { "CSS Auto": function(elem,prop){ jQuery(elem).addClass("auto" + prop) .text("This is a long string of text."); - return ""; + return prop == "opacity" ? 1 : ""; }, "JS Auto": function(elem,prop){ jQuery(elem).css(prop,"auto") .text("This is a long string of text."); - return ""; + return prop == "opacity" ? 1 : ""; }, "CSS 100": function(elem,prop){ jQuery(elem).addClass("large" + prop); - return ""; + return prop == "opacity" ? 1 : ""; }, "JS 100": function(elem,prop){ jQuery(elem).css(prop,prop == "opacity" ? 1 : "100px"); @@ -407,7 +407,7 @@ jQuery.each( { }, "CSS 50": function(elem,prop){ jQuery(elem).addClass("med" + prop); - return ""; + return prop == "opacity" ? 0.5 : ""; }, "JS 50": function(elem,prop){ jQuery(elem).css(prop,prop == "opacity" ? 0.50 : "50px"); @@ -415,7 +415,7 @@ jQuery.each( { }, "CSS 0": function(elem,prop){ jQuery(elem).addClass("no" + prop); - return ""; + return prop == "opacity" ? 0 : ""; }, "JS 0": function(elem,prop){ jQuery(elem).css(prop,prop == "opacity" ? 0 : "0px"); @@ -480,7 +480,7 @@ jQuery.each( { if ( t_h == "hide"||t_h == "show" ) equals(this.style.height.indexOf(f_h), 0, "Height must be reset to " + f_h + ": " + this.style.height); - var cur_o = jQuery.css(this, "opacity", undefined, true); + var cur_o = jQuery.css(this, "opacity"); if ( cur_o !== "" ) cur_o = parseFloat( cur_o ); if ( t_o == "hide"||t_o == "show" ) @@ -512,9 +512,9 @@ jQuery.each( { } if ( t_h == "show" ) { - var old_h = jQuery.css(this, "height"); - jQuery(elem).append("
Some more text
and some more..."); - ok(old_h != jQuery.css(this, "height" ), "Make sure height is auto."); + var old_h = jQuery.css(this, "height", undefined, true); + jQuery(this).append("
Some more text
and some more..."); + notEqual(jQuery.css(this, "height", undefined, true), old_h, "Make sure height is auto. " + n); } start();