Permalink
Browse files
fix for #4216. css now ignores negative numbers for width and height …
…when passed an object of props and vals.
- Loading branch information
Showing
with
11 additions
and
5 deletions.
-
+4
−4
src/css.js
-
+7
−1
test/unit/css.js
|
@@ -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 ) { |
|
@@ -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 |
|
|
|
|
@@ -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"'); |
|
|
|
|
@@ -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'}); |
|
|
0 comments on commit
6a04924