瀏覽器時下視窗可視區域寬度 瀏覽器和頁面的幾個概念

2021-10-16 05:31:22 字數 1808 閱讀 8434

window.outerheight : 瀏覽器的高度

window.outerwidth: 瀏覽器寬度

window.innerheight: 瀏覽器內頁面的可用高度,此高度包含了水平滾動條的高度。可表示為瀏覽器當前高度去除瀏覽器邊框工具條後的高度

window.innerwidth瀏覽器內頁面的可用高度

1.window.pageyoffset 返回文件在垂直方向上已經滾動的畫素值,pageyoffset是scrolly的別名

window.scrolly === window.pageyoffset // 總是true

可以簡單的理解為已經向上滾動的距離,具體的如圖所示

scrollheight是個dom相關的引數,innerheight是乙個window上掛的引數

scrollheight是會不斷的隨著頁面元素的增加和減少不斷地發生變化的,innerheight指的就是視窗的高度的大小,影響innerheight大小的因素:瀏覽器視窗本身的大小(如果原來是橫屏,現在變成豎屏導致瀏覽器視窗大小更改了,那麼innerheight也會對應的更改)

當頁面高度不足一屏的時候,window.innerheight === document.documentelement.scrollheight // true

當頁面超出一屏的時候,document.documentelement.scrollheight,是頁面整體的高度。

clientwidth = content + padding * 2 // 元素的可視寬度

通過圖可以看出其實兩者就差乙個底部的滑動,如果底部沒有滑動條,那麼兩者的高度是一致的

window.innerheight和clientheight

dom.offsetheight: dom的總的高度(dom可以代表任何的dom物件,只要能正確的取到)

dom.offsetwidth: dom的總寬度 (dom可以代表任何的dom物件,只要能正確的取到)

dom.clientheight: dom展示的高度,表示dom在瀏覽器內顯示的區域高度(簡單的來說就是可見區域的高度)

dom.clientwidth: dom展示的高度,表示dom在瀏覽器內展示的區域寬度(簡單的來說就是可見區域的寬度)

當頁面長度只有一屏的時候

clientwidth = content + padding * 2 // 元素的可視寬度
可以試試直接在本頁面開啟console自己試一下,通過這個測試,我們發現offsetheight是指的整個頁面的高度,而client指的是一屏的高度。

document.documentelement.offsetheight

4531

document.documentelement.clientheight

938

當在頁面只有一屏的情況下二者高度相等

當頁面出現多於一屏的情況下document.documentelement.scrollheight指代的是總的高度包括頁面當中未出現的高度。

offsetheight是自身元素的高度,scrollheight是 自身元素的高度+隱藏元素的高度。

螢幕相關的資訊

瀏覽器視窗可視區域大小相關方法

一 對於ie9 chrome firefox opera 以及 safari window.innerheight 瀏覽器視窗的內部高度 window.innerwidth 瀏覽器視窗的內部寬度 二 對於 internet explorer 8 7 6 5 document.documentelem...

JS獲取瀏覽器可視區域尺寸

本文所說的是瀏覽器視窗的可視區域大小,不是瀏覽器視窗大小,也非頁面尺寸。在沒有宣告doctype的ie中,瀏覽器顯示視窗大小只能以下獲取 document.body.offsetwidth document.body.offsetheight在宣告了doctype的瀏覽器中,可以用以下來獲取瀏覽器顯...

獲取使用者瀏覽器的可視區域

1 jquery alert window height 瀏覽器時下視窗可視區域高度 alert document height 瀏覽器時下視窗文件的高度 alert document.body height 瀏覽器時下視窗文件body的高度 alert document.body outerhei...