//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}; //返回一个数组,方便我们使用哦。 }
原文地址:http://11415078.blog.51cto.com/11405078/1901971