1.常用方法和兼容寫(xiě)法
1. 網(wǎng)頁(yè)可見(jiàn)區(qū)域高度 document.body.clientHeight
// 注解: 實(shí)測(cè)chrome58 不支持該屬性, 返回值始終是0絮缅; document.documentElement.clientHeight返回值正常焰扳。
2. 網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挾?document.body.clientWidth(和下面兩個(gè)方法得到的結(jié)果沒(méi)什么區(qū)別啊坯墨,還需要再試驗(yàn)查資料)
> 網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挘?document .body.offsetWidth (包括邊線的寬);
> 網(wǎng)頁(yè)可見(jiàn)區(qū)域高: document .body.offsetHeight (包括邊線的寬);
3. 滾動(dòng)條已滾動(dòng)高度(縱向) document.body.scrollTop = window.scrollY
4. 滾動(dòng)條已滾動(dòng)高度(橫向) document.body.scrollLeft = window.scrollX ( safari 比較特別,有自己獲取scrollTop的函數(shù) : window.pageYOffset, **新版瀏覽器沒(méi)有這個(gè)問(wèn)題**)
網(wǎng)上提供的獲取滾動(dòng)條滾動(dòng)高度的兼容方法document.documentElement.scrollTop, 有滾動(dòng)高度的情況下在chrome | safari 實(shí)驗(yàn)后獲取的值都是0L栉丁Q渭睢把兔!所以如果要使用到這個(gè)方法沪伙,下面這個(gè)條件判斷是必要的:
if (document.body && document.body.scrollTop && document.body.scrollLeft)
{
top=document.body.scrollTop;
left=document.body.scrollleft;
}
if (document.documentElement && document.documentElement.scrollTop && document.documentElement.scrollLeft)
{
top=document.documentElement.scrollTop;
left=document.documentElement.scrollLeft;
}
5. 獲取整個(gè)頁(yè)面的高度/寬度,上面是獲取可視區(qū)域的高度县好,注意區(qū)別:document.body.scrollHeight / document.body.scrollWidth
6. 屏幕分辨率的高: window.screen.height (可以直接查看屏幕分辨率)
屏幕分辨率的寬:window.screen.width
2.offsetWidth\ offsetLeft
- offsetWidth,獲取當(dāng)前對(duì)象的寬度围橡,包含width+padding+border, 兄弟offsetHeight
- offsetLeft, 當(dāng)前元素到父元素左邊的距離缕贡,兄弟offsetTop