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 }; }