首页 > 代码库 > 获取页面中任意一个元素距离body的偏移量

获取页面中任意一个元素距离body的偏移量

//offSet:等同于jQuery中的offSet方法,获取页面中任意一个元素距离body的偏移量
function offSet(curEle) {
    var totalLeft = null;
    var totalTop = null;
    var par = curEle.offsetParent;
    //首先把自己本身的相加
    totalLeft += curEle.offsetLeft;
    totalTop += curEle.offsetTop;
    //现在开始一级一级往上查找,只要没有遇到body,我们就把父级参照物的边框和偏移相加
    while (par){
        if (navigator.userAgent.indexOf("MSIE 8.0") === -1){
            //不是IE8我们才进行累加父级参照物的边框
            totalTop += par.clientTop;
            totalLeft += par.clientLeft;
        }
        //把父级参照物的偏移相加
        totalTop += par.offsetTop;
        totalLeft += par.offsetLeft;
        par = par.offsetParent;
    }
    return {left: totalLeft,top: totalTop};
    //返回一个数组,方便我们使用哦。
}


获取页面中任意一个元素距离body的偏移量