Making some more adjustments to handle auto CSS properties.

This commit is contained in:
John Resig 2010-09-13 18:00:28 -04:00
parent 8b7015987c
commit 2bda99c18a
3 changed files with 12 additions and 12 deletions

View file

@ -77,7 +77,7 @@ jQuery.extend({
} else if ( !force && style[ name ] ) { } else if ( !force && style[ name ] ) {
ret = style[ name ]; ret = style[ name ];
} else if ( curCSS ) { } else if ( force !== false && curCSS ) {
ret = curCSS( elem, name, origName ); ret = curCSS( elem, name, origName );
} }

4
src/effects.js vendored
View file

@ -349,7 +349,7 @@ jQuery.fx.prototype = {
// Simple 'show' function // Simple 'show' function
show: function() { show: function() {
// Remember where we started, so that we can go back to it later // 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; this.options.show = true;
// Begin the animation // Begin the animation
@ -364,7 +364,7 @@ jQuery.fx.prototype = {
// Simple 'hide' function // Simple 'hide' function
hide: function() { hide: function() {
// Remember where we started, so that we can go back to it later // 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; this.options.hide = true;
// Begin the animation // Begin the animation

18
test/unit/effects.js vendored
View file

@ -390,16 +390,16 @@ jQuery.each( {
"CSS Auto": function(elem,prop){ "CSS Auto": function(elem,prop){
jQuery(elem).addClass("auto" + prop) jQuery(elem).addClass("auto" + prop)
.text("This is a long string of text."); .text("This is a long string of text.");
return ""; return prop == "opacity" ? 1 : "";
}, },
"JS Auto": function(elem,prop){ "JS Auto": function(elem,prop){
jQuery(elem).css(prop,"auto") jQuery(elem).css(prop,"auto")
.text("This is a long string of text."); .text("This is a long string of text.");
return ""; return prop == "opacity" ? 1 : "";
}, },
"CSS 100": function(elem,prop){ "CSS 100": function(elem,prop){
jQuery(elem).addClass("large" + prop); jQuery(elem).addClass("large" + prop);
return ""; return prop == "opacity" ? 1 : "";
}, },
"JS 100": function(elem,prop){ "JS 100": function(elem,prop){
jQuery(elem).css(prop,prop == "opacity" ? 1 : "100px"); jQuery(elem).css(prop,prop == "opacity" ? 1 : "100px");
@ -407,7 +407,7 @@ jQuery.each( {
}, },
"CSS 50": function(elem,prop){ "CSS 50": function(elem,prop){
jQuery(elem).addClass("med" + prop); jQuery(elem).addClass("med" + prop);
return ""; return prop == "opacity" ? 0.5 : "";
}, },
"JS 50": function(elem,prop){ "JS 50": function(elem,prop){
jQuery(elem).css(prop,prop == "opacity" ? 0.50 : "50px"); jQuery(elem).css(prop,prop == "opacity" ? 0.50 : "50px");
@ -415,7 +415,7 @@ jQuery.each( {
}, },
"CSS 0": function(elem,prop){ "CSS 0": function(elem,prop){
jQuery(elem).addClass("no" + prop); jQuery(elem).addClass("no" + prop);
return ""; return prop == "opacity" ? 0 : "";
}, },
"JS 0": function(elem,prop){ "JS 0": function(elem,prop){
jQuery(elem).css(prop,prop == "opacity" ? 0 : "0px"); jQuery(elem).css(prop,prop == "opacity" ? 0 : "0px");
@ -480,7 +480,7 @@ jQuery.each( {
if ( t_h == "hide"||t_h == "show" ) 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); 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 ( cur_o !== "" ) cur_o = parseFloat( cur_o );
if ( t_o == "hide"||t_o == "show" ) if ( t_o == "hide"||t_o == "show" )
@ -512,9 +512,9 @@ jQuery.each( {
} }
if ( t_h == "show" ) { if ( t_h == "show" ) {
var old_h = jQuery.css(this, "height"); var old_h = jQuery.css(this, "height", undefined, true);
jQuery(elem).append("<br/>Some more text<br/>and some more..."); jQuery(this).append("<br/>Some more text<br/>and some more...");
ok(old_h != jQuery.css(this, "height" ), "Make sure height is auto."); notEqual(jQuery.css(this, "height", undefined, true), old_h, "Make sure height is auto. " + n);
} }
start(); start();