元素相对浏览器顶部位置

2021-11-05  本文已影响0人  清霆
export const formatOffset = (el) => {
    let offsetTop = 0;

    do {
        if (!isNaN(el.offsetTop)) {
            offsetTop += el.offsetTop;
        }
    } while ((el = el.offsetParent));

    return { top: offsetTop };
}
export const formatOffsetRelative = (el) => {
    if (el.getBoundingClientRect) {
        return el.getBoundingClientRect();
    }
    else {
        var x = 0, y = 0;
        do {
            x += el.offsetLeft - el.scrollLeft;
            y += el.offsetTop - el.scrollTop;
        }
        while (el = el.offsetParent);

        return {  top: y, left: x }
    }
}

引自 :
get-element-relative-offset
offset

上一篇 下一篇

猜你喜欢

热点阅读