Skip to content

Commit

Permalink
fix for #4216. css now ignores negative numbers for width and height …
Browse files Browse the repository at this point in the history
…when passed an object of props and vals.
  • Loading branch information
brandonaaron committed Apr 22, 2009
1 parent 8be5792 commit 6a04924
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
8 changes: 4 additions & 4 deletions src/css.js
Expand Up @@ -8,10 +8,6 @@ var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
jQuery.fn.css = function( name, value ) {
var options = name, isFunction = jQuery.isFunction( value );

// ignore negative width and height values
if ( (name == 'width' || name == 'height') && parseFloat(value) < 0 )
value = undefined;

if ( typeof name === "string" ) {
// Are we setting the style?
if ( value === undefined ) {
Expand Down Expand Up @@ -55,6 +51,10 @@ jQuery.extend({
if (!elem || elem.nodeType == 3 || elem.nodeType == 8)
return undefined;

// ignore negative width and height values #1599
if ( (name == 'width' || name == 'height') && parseFloat(value) < 0 )
value = undefined;

var style = elem.style || elem, set = value !== undefined;

// IE uses filters for opacity
Expand Down
8 changes: 7 additions & 1 deletion test/unit/css.js
@@ -1,7 +1,7 @@
module("css");

test("css(String|Hash)", function() {
expect(19);
expect(21);

equals( jQuery('#main').css("display"), 'none', 'Check for css property "display"');

Expand All @@ -11,6 +11,12 @@ test("css(String|Hash)", function() {
jQuery('#nothiddendiv').css({display: 'block'});
ok( jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is visible');

// handle negative numbers by ignoring #1599, #4216
var width = parseFloat(jQuery('#nothiddendiv').css('width')), height = parseFloat(jQuery('#nothiddendiv').css('height'));
jQuery('#nothiddendiv').css({ width: -1, height: -1 });
equals( parseFloat(jQuery('#nothiddendiv').css('width')), width, 'Test negative width ignored')
equals( parseFloat(jQuery('#nothiddendiv').css('height')), height, 'Test negative height ignored')

jQuery('#floatTest').css({styleFloat: 'right'});
equals( jQuery('#floatTest').css('styleFloat'), 'right', 'Modified CSS float using "styleFloat": Assert float is right');
jQuery('#floatTest').css({cssFloat: 'left'});
Expand Down

0 comments on commit 6a04924

Please sign in to comment.