1. 获取 网页真实内容 高度chrome
// 获取 网页真实内容 高度 function getScrollHeight(){ return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); }
2. 获取 网页真实内容 宽度浏览器
// 获取 网页真实内容 宽度 function getScrollWidth(){ return Math.max(document.body.scrollWidth, document.documentElement.scrollWidth); }
3. Element.offsetLeftspa
4. Element.offsetTopcode
3. 获取元素 在 网页 中的 坐标blog
方法1get
// 获取元素 在 网页 中的 坐标 Test Already. function getElementPosition(ele) { var left = 0; var top = 0; var p = ele; while (p !== null) { left += p.offsetLeft; top += p.offsetTop; p = p.offsetParent; // 遍历相对元素的坐标 } var pageHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); var pageWidth = Math.max(document.body.scrollWidth, document.documentElement.scrollWidth); return { left: left, top: top, right: pageWidth - left - ele.offsetWidth, bottom: pageHeight - top - ele.offsetHeight }; }
方法2it
// 获取元素 在 网页 中的 坐标 Test Already. function posInPage(obj){ var theXOffset = document.documentElement.scrollLeft || // 火狐 IE9及如下滚动条是HTML的 window.pageXOffset || // IE10及以上 window.pageXOffset document.body.scrollLeft; // chrome滚动条是body的 var theYOffset = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; var theClient = obj.getBoundingClientRect(); // 在IE中,默认坐标从(2,2)开始计算,致使最终距离比其余浏览器多出两个像素,须要作如下兼容 var top2px = document.documentElement.clientTop; var left2px = document.documentElement.clientLeft; var pageHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); var pageWidth = Math.max(document.body.scrollWidth, document.documentElement.scrollWidth); return { top: theClient.top - top2px + theYOffset, left: theClient.left - left2px + theXOffset, bottom: pageHeight - (theClient.top - top2px + theYOffset) - obj.offsetHeight, right: pageWidth - (theClient.left - left2px + theXOffset) - obj.offsetWidth }; }