javascript獲取網(wǎng)頁(yè)各種高寬及位置的方法總結(jié)
screen對(duì)象
獲取屏幕的高寬(分辨率)
screen.width //屏幕的寬 screen.height //屏幕的高 screen.availWidth //屏幕可用寬度 屏幕的像素高度減去系統(tǒng)部件高度之后的值 screen.availHeight //屏幕可用高度 屏幕的像素寬度減去系統(tǒng)部件寬度之后的值
window對(duì)象
獲得窗口位置及大小
window.screenTop //窗口頂部距屏幕頂部的距離 window.screenLeft //窗口左側(cè)距屏幕左側(cè)的距離 window.innerWidth //窗口中可視區(qū)域(viewpoint)的寬度 alert(window.innerWidth); //chrome 1366 ff 1366 ie 1366 window.innerHeight //窗口中可視區(qū)域(viewpoint)的高度 該值與瀏覽器是否顯示菜單欄等因素有關(guān) alert(window.innerHeight); //chrome 643 ff 657 ie 673 window.outerWidth //瀏覽器窗口本身的寬度(可視區(qū)域?qū)挾?瀏覽器邊框?qū)挾? alert(window.outerWidth); //chrome 1366 ff 1382 ie 1382 //說(shuō)明chrome在最大化時(shí)瀏覽器窗口沒(méi)有邊框?qū)挾?非最大化時(shí)有8px邊框 //ff和ie上下左右有8px的邊框?qū)挾? window.outerHeight //瀏覽器窗口本身的高度 alert(window.outerHeight); //chrome 728 ff 744 ie 744
element對(duì)象
在介紹element對(duì)象各種高寬之前有必要解釋一下盒模型
默認(rèn)盒模型 box-sizing:content-box;

boxWidth = 2*margin + 2*border + 2*padding + width boxHeight = 2*margin + 2*border + 2*padding + height
當(dāng)不出現(xiàn)滾動(dòng)條時(shí)
body{margin:0;}
#demo{
width:100px;
height:100px;
padding:10px;
border:20px;
margin:30px;
background-color:red;
}
<div id="demo">123456789 123456789</div>
clientWidth:在頁(yè)面上返回內(nèi)容的可視寬度(不包括邊框,邊距或滾動(dòng)條)
clientHeight:在頁(yè)面上返回內(nèi)容的可視高度(不包括邊框,邊距或滾動(dòng)條)
clientWidth = 2*padding + width - scrollbarWidth
console.log(document.getElementById('demo').clientWidth); //120 此時(shí)scrollbarWidth=0
clientHeight = 2*padding + height - scrollbarHeight
console.log(document.getElementById('demo').clientHeight); //120 此時(shí)scrollbarWidth=0
offsetWidth:返回元素的寬度包括邊框和填充,但不包括邊距
offsetHeight:返回元素的高度包括邊框和填充,但不包括邊距
offsetWidth = 2*border + 2*padding + width
console.log(document.getElementById('demo').offsetWidth) //160
offsetHeight = 2*border + 2*padding + height
console.log(document.getElementById('demo').offsetHeight) //160
offsetLeft: 獲取對(duì)象相對(duì)于版面或由 offsetLeft屬性指定的父坐標(biāo)的計(jì)算左側(cè)位置
offsetTop: 獲取對(duì)象相對(duì)于版面或由 offsetTop屬性指定的父坐標(biāo)的計(jì)算頂端位置
console.log(document.getElementById('demo').offsetLeft) //30
console.log(document.getElementById('demo').offsetTop) //30

當(dāng)出現(xiàn)滾動(dòng)條時(shí)
body{
margin:0;
padding:20px;
width:1000px;
height:500px;
}
<div id="demo">123456789123456789</div>
scrollWidth: 返回元素的整個(gè)寬度(包括帶滾動(dòng)條的隱蔽的地方)
scrollHeight: 返回整個(gè)元素的高度(包括帶滾動(dòng)條的隱蔽的地方)
scrollWidth = 2*padding + width console.log(document.body.scrollWidth) //1040 scrollHeight = 2*padding + width console.log(document.body.scrollHeight) //540
scrollTop: 向下滑動(dòng)滾動(dòng)塊時(shí)元素隱藏內(nèi)容的高度。不設(shè)置時(shí)默認(rèn)為0,其值隨著滾動(dòng)塊滾動(dòng)而變化
scrollLeft: 向右滑動(dòng)滾動(dòng)塊時(shí)元素隱藏內(nèi)容的寬度。不設(shè)置時(shí)默認(rèn)為0,其值隨著滾動(dòng)塊滾動(dòng)而變化
event對(duì)象
Event 對(duì)象代表事件的狀態(tài),比如事件在其中發(fā)生的元素、鍵盤(pán)按鍵的狀態(tài)、鼠標(biāo)的位置、鼠標(biāo)按鈕的狀態(tài)。
event.pageX:相對(duì)整個(gè)頁(yè)面的坐標(biāo),以頁(yè)面的左上角為坐標(biāo)原點(diǎn)到鼠標(biāo)所在點(diǎn)的水平距離(IE8不支持)
event.pageY:相對(duì)整個(gè)頁(yè)面的坐標(biāo),以頁(yè)面的左上角為坐標(biāo)原點(diǎn)到鼠標(biāo)所在點(diǎn)的垂直距離(IE8不支持)
event.clientX:相對(duì)可視區(qū)域的坐標(biāo),以瀏覽器可視區(qū)域左上角為坐標(biāo)原點(diǎn)到鼠標(biāo)所在點(diǎn)的水平距離
event.clientY:相對(duì)可視區(qū)域的坐標(biāo),以瀏覽器可視區(qū)域左上角為坐標(biāo)原點(diǎn)到鼠標(biāo)所在點(diǎn)的垂直距離
event.screenX:相對(duì)電腦屏幕的坐標(biāo),以屏幕左上角為坐標(biāo)原點(diǎn)到鼠標(biāo)所在點(diǎn)的水平距離
event.screenY:相對(duì)電腦屏幕的坐標(biāo),以屏幕左上角為坐標(biāo)原點(diǎn)到鼠標(biāo)所在點(diǎn)的垂直距離
event.offsetX:相對(duì)于自身的坐標(biāo),以自身的padding左上角為坐標(biāo)原點(diǎn)到鼠標(biāo)所在點(diǎn)的水平距離
event.offsetY:相對(duì)于自身的坐標(biāo),以自身的padding左上角為坐標(biāo)原點(diǎn)到鼠標(biāo)所在點(diǎn)的水平距離

以上這篇javascript獲取網(wǎng)頁(yè)各種高寬及位置的方法總結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- javascript獲取網(wǎng)頁(yè)寬高方法匯總
- javascript實(shí)現(xiàn)網(wǎng)頁(yè)中涉及的簡(jiǎn)易運(yùn)動(dòng)(改變寬高、透明度、位置)
- JS獲取屏幕,瀏覽器窗口大小,網(wǎng)頁(yè)高度寬度(實(shí)現(xiàn)代碼)
- javascript獲取和判斷瀏覽器窗口、屏幕、網(wǎng)頁(yè)的高度、寬度等
- 獲取JS中網(wǎng)頁(yè)各種高寬與位置的方法總結(jié)
- JavaScript獲取網(wǎng)頁(yè)、瀏覽器、屏幕高度和寬度匯總
- JS獲取網(wǎng)頁(yè)屬性包括寬、高等等
- jQuery javascript獲得網(wǎng)頁(yè)的高度與寬度的實(shí)現(xiàn)代碼
- JavaScript獲取網(wǎng)頁(yè)的寬高及如何兼容詳解
相關(guān)文章
微信小程序?qū)崿F(xiàn)商品數(shù)據(jù)聯(lián)動(dòng)效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)商品數(shù)據(jù)聯(lián)動(dòng)效果,代碼很簡(jiǎn)單,直接復(fù)制即可根據(jù)自己的需求去修改,對(duì)小程序商品數(shù)據(jù)聯(lián)動(dòng)實(shí)例代碼感興趣的朋友一起看看吧2022-08-08
原生javascript實(shí)現(xiàn)圖片彈窗交互效果
這篇文章主要介紹了原生javascript實(shí)現(xiàn)圖片彈窗交互效果的方法及的相關(guān)資料,需要的朋友可以參考下2015-01-01
JavaScript實(shí)現(xiàn)復(fù)選框全選或全取消操作
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)復(fù)選框全選或全取消操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
微信小程序?qū)崿F(xiàn)topBar底部選擇欄效果
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)topBar底部選擇欄效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
JS中const對(duì)于復(fù)雜類(lèi)型變量和普通類(lèi)型變量的區(qū)別詳解
我們?cè)陂_(kāi)發(fā)的過(guò)程中一定常常發(fā)現(xiàn)const關(guān)鍵字定義的簡(jiǎn)單類(lèi)型變量不可以改變,但是你如果定義的是一個(gè)復(fù)雜類(lèi)型變量(比如對(duì)象)的話(huà)對(duì)里面屬性的增刪改查是可以的,那這又是為什么呢,接下來(lái)就來(lái)和小編一起探討一下吧2023-11-11
詳解微信小程序 頁(yè)面跳轉(zhuǎn) 傳遞參數(shù)
這篇文章主要介紹了詳解微信小程序 頁(yè)面跳轉(zhuǎn) 傳遞參數(shù),現(xiàn)在分享給大家,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12
javascript倒計(jì)時(shí)效果實(shí)現(xiàn)
這篇文章為大家分享了javascript倒計(jì)時(shí)效果實(shí)現(xiàn)代碼段,現(xiàn)今團(tuán)購(gòu)網(wǎng)、電商網(wǎng)、門(mén)戶(hù)網(wǎng)等,常使用時(shí)間記錄重要的時(shí)刻,如時(shí)間顯示、倒計(jì)時(shí)差、限時(shí)搶購(gòu)等,特別是雙十一活動(dòng),需要的朋友可以參考下2015-11-11
Bootstrap3 input輸入框插入glyphicon圖標(biāo)的方法
這篇文章主要介紹了Bootstrap3 input輸入框插入glyphicon圖標(biāo)的方法的相關(guān)資料,需要的朋友可以參考下2016-05-05

