Landing a bunch of bug fixes from furf's pull request at eefcbaebb31b89b5eb360cd5ec6165b89c84e75f.

This commit is contained in:
jeresig 2010-09-09 15:33:06 -04:00
parent ca3b18ca53
commit ad950c8c59

View file

@ -21,7 +21,7 @@ var ralpha = /alpha\([^)]*\)/,
jQuery.fn.css = function( name, value ) { jQuery.fn.css = function( name, value ) {
return jQuery.access( this, name, value, true, function( elem, name, value ) { return jQuery.access( this, name, value, true, function( elem, name, value ) {
jQuery.css( elem, name, value ); return jQuery.css( elem, name, value );
}); });
}; };
@ -66,16 +66,16 @@ jQuery.extend({
value += "px"; value += "px";
} }
if ( !("set" in hooks) || (value = hooks.set( elem, value )) === false ) { if ( !("set" in hooks) || (value = hooks.set( elem, value )) === undefined ) {
style[ name ] = value; style[ name ] = value;
} }
} else { } else {
if ( "get" in hooks && (ret = hooks.get( elem, force, extra )) !== false ) { if ( "get" in hooks && (ret = hooks.get( elem, force, extra )) !== undefined ) {
return ret; return ret;
} }
if ( !force && name in style ) { if ( !force && style && style[ name ] ) {
ret = style[ name ]; ret = style[ name ];
} else if ( curCSS ) { } else if ( curCSS ) {
@ -108,6 +108,8 @@ jQuery.extend({
jQuery.each(["height", "width"], function( i, name ) { jQuery.each(["height", "width"], function( i, name ) {
jQuery.cssHooks[ name ] = { jQuery.cssHooks[ name ] = {
get: function( elem, force, extra ) { get: function( elem, force, extra ) {
var val;
if ( elem.offsetWidth !== 0 ) { if ( elem.offsetWidth !== 0 ) {
val = getWH( elem, name, extra ); val = getWH( elem, name, extra );
@ -116,11 +118,13 @@ jQuery.each(["height", "width"], function( i, name ) {
val = getWH( elem, name, extra ); val = getWH( elem, name, extra );
}); });
} }
return val;
}, },
set: function( elem, value ) { set: function( elem, value ) {
// ignore negative width and height values #1599 // ignore negative width and height values #1599
elem.style[ name ] = Math.max( parseFloat(value), 0 ) + "px"; return Math.max( parseFloat(value), 0 ) + "px";
} }
}; };
}); });
@ -174,7 +178,7 @@ if ( getComputedStyle ) {
} else if ( document.documentElement.currentStyle ) { } else if ( document.documentElement.currentStyle ) {
curCSS = function( elem, name ) { curCSS = function( elem, name ) {
var left, rsLeft, ret = elem.currentStyle[ name ]; var left, rsLeft, ret = elem.currentStyle[ name ], style = elem.style;
// From the awesome hack by Dean Edwards // From the awesome hack by Dean Edwards
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291