forked from johnantoni/jquery.dimensions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.dimensions.min.js
3 lines (3 loc) · 1.47 KB
/
jquery.dimensions.min.js
1
2
3
(function(d){function e(b,a){return parseInt(d.css(b.jquery?b[0]:b,a))||0}d.dimensions={version:"@VERSION"};d.each(["Height","Width"],function(b,a){d.fn["inner"+a]=function(){if(this[0]){var c=a=="Height"?"Top":"Left",f=a=="Height"?"Bottom":"Right";return e(this,a.toLowerCase())+e(this,"padding"+c)+e(this,"padding"+f)}};d.fn["outer"+a]=function(c){if(this[0]){var f=a=="Height"?"Top":"Left",g=a=="Height"?"Bottom":"Right";c=d.extend({margin:false},c||{});return e(this,a.toLowerCase())+e(this,"border"+
f+"Width")+e(this,"border"+g+"Width")+e(this,"padding"+f)+e(this,"padding"+g)+(c.margin?e(this,"margin"+f)+e(this,"margin"+g):0)}}});d.each(["Left","Top"],function(b,a){d.fn["scroll"+a]=function(c){if(this[0])return c!=undefined?this.each(function(){this==window||this==document?window.scrollTo(a=="Left"?c:d(window).scrollLeft(),a=="Top"?c:d(window).scrollTop()):(this["scroll"+a]=c)}):this[0]==window||this[0]==document?self[a=="Left"?"pageXOffset":"pageYOffset"]||d.boxModel&&document.documentElement["scroll"+
a]||document.body["scroll"+a]:this[0]["scroll"+a]}});d.fn.extend({position:function(){var b=this[0],a,c,f;if(b){f=this.offsetParent();a=this.offset();c=f.offset();a.top-=e(b,"marginTop");a.left-=e(b,"marginLeft");c.top+=e(f,"borderTopWidth");c.left+=e(f,"borderLeftWidth");a={top:a.top-c.top,left:a.left-c.left}}return a},offsetParent:function(){for(var b=this[0].offsetParent;b&&!/^body|html$/i.test(b.tagName)&&d.css(b,"position")=="static";)b=b.offsetParent;return d(b)}})})(jQuery);