From 2bda99c18a0372eed02472e9d318676e180281da Mon Sep 17 00:00:00 2001 From: John Resig Date: Mon, 13 Sep 2010 18:00:28 -0400 Subject: [PATCH] Making some more adjustments to handle auto CSS properties. --- src/css.js | 2 +- src/effects.js | 4 ++-- test/unit/effects.js | 18 +++++++++--------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/css.js b/src/css.js index b95eb47..eb7567f 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 352ad4a..4eb725b 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 9ff5014..cb07f6a 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(); -- 1.7.10.4