aboutsummaryrefslogtreecommitdiffstats
path: root/lib/jquery/src/dimensions.js
diff options
context:
space:
mode:
authorJesús Eduardo <heckyel@hyperbola.info>2017-08-06 20:43:24 -0500
committerJesús Eduardo <heckyel@hyperbola.info>2017-08-06 20:43:24 -0500
commitf7045b862a5b7c3de8ee2ea3da67616b38a667cc (patch)
tree504f420546df4934495bbd6f3d9761650b3783bd /lib/jquery/src/dimensions.js
downloadytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.tar.lz
ytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.tar.xz
ytlibre-f7045b862a5b7c3de8ee2ea3da67616b38a667cc.zip
first commit
Diffstat (limited to 'lib/jquery/src/dimensions.js')
-rw-r--r--lib/jquery/src/dimensions.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/lib/jquery/src/dimensions.js b/lib/jquery/src/dimensions.js
new file mode 100644
index 0000000..46e7b1c
--- /dev/null
+++ b/lib/jquery/src/dimensions.js
@@ -0,0 +1,56 @@
+define( [
+ "./core",
+ "./core/access",
+ "./css"
+], function( jQuery, access ) {
+
+"use strict";
+
+// 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 ) ) {
+
+ // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+ return funcName.indexOf( "outer" ) === 0 ?
+ elem[ "inner" + name ] :
+ 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 );
+ };
+ } );
+} );
+
+return jQuery;
+} );