Make sure that height/width methods return numbers instead of strings.
authorjeresig <jeresig@gmail.com>
Thu, 9 Sep 2010 20:33:05 +0000 (16:33 -0400)
committerjeresig <jeresig@gmail.com>
Thu, 9 Sep 2010 20:33:05 +0000 (16:33 -0400)
src/dimensions.js

index 58c16af..d3561e8 100644 (file)
@@ -8,14 +8,14 @@ jQuery.each([ "Height", "Width" ], function( i, name ) {
        // innerHeight and innerWidth
        jQuery.fn["inner" + name] = function() {
                return this[0] ?
-                       jQuery.css( this[0], type, undefined, false, "padding" ) :
+                       parseFloat( jQuery.css( this[0], type, undefined, false, "padding" ), 10 ) :
                        null;
        };
 
        // outerHeight and outerWidth
        jQuery.fn["outer" + name] = function( margin ) {
                return this[0] ?
-                       jQuery.css( this[0], type, undefined, false, margin ? "margin" : "border" ) :
+                       parseFloat( jQuery.css( this[0], type, undefined, false, margin ? "margin" : "border" ), 10 ) :
                        null;
        };
 
@@ -50,7 +50,7 @@ jQuery.each([ "Height", "Width" ], function( i, name ) {
                                // Get or set width or height on the element
                                size === undefined ?
                                        // Get width or height on the element
-                                       jQuery.css( elem, type ) :
+                                       parseFloat( jQuery.css( elem, type ), 10 ) :
 
                                        // Set the width or height on the element (default to pixels if value is unitless)
                                        this.css( type, typeof size === "string" ? size : size + "px" );