fix for #4216. css now ignores negative numbers for width and height when passed an object of props and vals.
This commit is contained in:
parent
8be5792975
commit
6a049246a1
|
@ -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'});
|
||||
|
|
Loading…
Reference in a new issue