@uicapivara/cp-select
Version:
cp-select
21 lines • 755 B
text/typescript
export namespace Coordinates {
export function get(el) {
let xPos = 0, yPos = 0;
while (el) {
if (el.tagName == "BODY") {
let xScroll = el.scrollLeft || document.documentElement.scrollLeft;
let yScroll = el.scrollTop || document.documentElement.scrollTop;
xPos += (el.offsetLeft - xScroll + el.clientLeft);
yPos += (el.offsetTop - yScroll + el.clientTop);
} else {
xPos += (el.offsetLeft - el.scrollLeft + el.clientLeft);
yPos += (el.offsetTop - el.scrollTop + el.clientTop);
}
el = el.offsetParent;
}
return {
left: xPos,
top: yPos
};
}
}