|
|
@@ -1,55 +0,0 @@
|
|
|
-export function getAbsoluteScrollAndOffset(el: HTMLElement) {
|
|
|
- let _x = 0;
|
|
|
- let _y = 0;
|
|
|
- let _sx = window.scrollX;
|
|
|
- let _sy = window.scrollY;
|
|
|
- while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
|
|
|
- _x += el.offsetLeft - el.scrollLeft;
|
|
|
- _y += el.offsetTop - el.scrollTop;
|
|
|
- _sx += el.scrollLeft;
|
|
|
- _sy += el.scrollTop;
|
|
|
- el = el.offsetParent as HTMLElement;
|
|
|
- }
|
|
|
- return {offset: {top: _y, left: _x}, scroll: {top: _sy, left: _sx}};
|
|
|
-}
|
|
|
-
|
|
|
-export interface SizeInterface {
|
|
|
- size: { height: number, width: number };
|
|
|
- offset: { top: number, left: number };
|
|
|
- scroll: { top: number, left: number };
|
|
|
-}
|
|
|
-
|
|
|
-export function getSize(el: HTMLElement) {
|
|
|
- return {
|
|
|
- height: el.clientHeight,
|
|
|
- width: el.clientWidth,
|
|
|
- };
|
|
|
-}
|
|
|
-
|
|
|
-export function getDimensions(el: HTMLElement): SizeInterface {
|
|
|
- const data = getAbsoluteScrollAndOffset(el);
|
|
|
- return {
|
|
|
- size: getSize(el),
|
|
|
- scroll: data.scroll,
|
|
|
- offset: data.offset
|
|
|
- };
|
|
|
-}
|
|
|
-
|
|
|
-export function getBodySize(document: any) {
|
|
|
- return {
|
|
|
- height: Math.max(
|
|
|
- document.documentElement.clientHeight,
|
|
|
- document.body.scrollHeight,
|
|
|
- document.documentElement.scrollHeight,
|
|
|
- document.body.offsetHeight,
|
|
|
- document.documentElement.offsetHeight
|
|
|
- ),
|
|
|
- width: Math.max(
|
|
|
- document.documentElement.clientWidth,
|
|
|
- document.body.scrollWidth,
|
|
|
- document.documentElement.scrollWidth,
|
|
|
- document.body.offsetWidth,
|
|
|
- document.documentElement.offsetWidth
|
|
|
- )
|
|
|
- };
|
|
|
-}
|