diff options
Diffstat (limited to 'bower_components/jquery/src/dimensions.js')
| -rw-r--r-- | bower_components/jquery/src/dimensions.js | 50 | 
1 files changed, 50 insertions, 0 deletions
| diff --git a/bower_components/jquery/src/dimensions.js b/bower_components/jquery/src/dimensions.js new file mode 100644 index 0000000..9cb0e99 --- /dev/null +++ b/bower_components/jquery/src/dimensions.js @@ -0,0 +1,50 @@ +define([ +	"./core", +	"./core/access", +	"./css" +], function( jQuery, access ) { + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { +	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { +		// margin is only for outerHeight, outerWidth +		jQuery.fn[ funcName ] = function( margin, value ) { +			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), +				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + +			return access( this, function( elem, type, value ) { +				var doc; + +				if ( jQuery.isWindow( elem ) ) { +					// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there +					// isn't a whole lot we can do. See pull request at this URL for discussion: +					// https://github.com/jquery/jquery/pull/764 +					return elem.document.documentElement[ "client" + name ]; +				} + +				// Get document width or height +				if ( elem.nodeType === 9 ) { +					doc = elem.documentElement; + +					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], +					// whichever is greatest +					return Math.max( +						elem.body[ "scroll" + name ], doc[ "scroll" + name ], +						elem.body[ "offset" + name ], doc[ "offset" + name ], +						doc[ "client" + name ] +					); +				} + +				return value === undefined ? +					// Get width or height on the element, requesting but not forcing parseFloat +					jQuery.css( elem, type, extra ) : + +					// Set width or height on the element +					jQuery.style( elem, type, value, extra ); +			}, type, chainable ? margin : undefined, chainable, null ); +		}; +	}); +}); + +return jQuery; +}); | 
