From 0a755f6ab38d36ffda02f9ff5a6d606c24a94baa Mon Sep 17 00:00:00 2001 From: David Serduke Date: Wed, 28 Nov 2007 01:01:49 +0000 Subject: [PATCH] Fixed #1599 as Brandon suggested to ignore negative values to width and height css. The fix itself is slightly different as it was moved to .css() instead of staying in .attr() like in his patch. I decided there was less chance of incorrect behavior (like if someone had an XML file with a width attribute that could be negative). Also took out some unneeded white space while I was in there. --- src/core.js | 9 ++++++--- test/index.html | 1 + test/unit/core.js | 9 +++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/core.js b/src/core.js index b701abea..ce265196 100644 --- a/src/core.js +++ b/src/core.js @@ -43,7 +43,7 @@ jQuery.fn = jQuery.prototype = { return this; // Handle HTML strings - } else if ( typeof selector == "string" ) { + } else if ( typeof selector == "string" ) { // Are we dealing with HTML string or an ID? var match = quickExpr.exec( selector ); @@ -194,6 +194,9 @@ jQuery.fn = jQuery.prototype = { }, css: function( key, value ) { + // ignore negative width and height values + if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) + value = undefined; return this.attr( key, value, "curCSS" ); }, @@ -360,7 +363,7 @@ jQuery.fn = jQuery.prototype = { if ( this.length ) { var elem = this[0]; - + // We need to handle select boxes special if ( jQuery.nodeName( elem, "select" ) ) { var index = elem.selectedIndex, @@ -1321,7 +1324,7 @@ jQuery.each([ "Height", "Width" ], function(i, name){ this[0] == document ? // Either scroll[Width/Height] or offset[Width/Height], whichever is greater (Mozilla reports scrollWidth the same as offsetWidth) Math.max( document.body[ "scroll" + name ], document.body[ "offset" + name ] ) : - + // Get or set width or height on the element size == undefined ? // Get width or height on the element diff --git a/test/index.html b/test/index.html index 80b947d4..2b0b685f 100644 --- a/test/index.html +++ b/test/index.html @@ -20,6 +20,7 @@

+