獲取JS中網(wǎng)頁各種高寬與位置的方法總結(jié)
screen對象
獲取屏幕的高寬(分辨率)
screen.width //屏幕的寬 screen.height //屏幕的高 screen.availWidth //屏幕可用寬度 屏幕的像素高度減去系統(tǒng)部件高度之后的值 screen.availHeight //屏幕可用高度 屏幕的像素寬度減去系統(tǒng)部件寬度之后的值
window對象
獲得窗口位置及大小
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 //說明chrome在最大化時瀏覽器窗口沒有邊框?qū)挾?非最大化時有8px邊框 //ff和ie上下左右有8px的邊框?qū)挾? window.outerHeight //瀏覽器窗口本身的高度 alert(window.outerHeight); //chrome 728 ff 744 ie 744
element對象
在介紹element對象各種高寬之前有必要解釋一下盒模型
默認(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)滾動條時
body{margin:0;} #demo{ width:100px; height:100px; padding:10px; border:20px; margin:30px; background-color:red; } <div id="demo">123456789 123456789</div>
clientWidth:在頁面上返回內(nèi)容的可視寬度(不包括邊框,邊距或滾動條)
clientHeight:在頁面上返回內(nèi)容的可視高度(不包括邊框,邊距或滾動條)
clientWidth = 2*padding + width - scrollbarWidth console.log(document.getElementById('demo').clientWidth); //120 此時scrollbarWidth=0 clientHeight = 2*padding + height - scrollbarHeight console.log(document.getElementById('demo').clientHeight); //120 此時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: 獲取對象相對于版面或由 offsetLeft屬性指定的父坐標(biāo)的計算左側(cè)位置
offsetTop: 獲取對象相對于版面或由 offsetTop屬性指定的父坐標(biāo)的計算頂端位置
console.log(document.getElementById('demo').offsetLeft) //30 console.log(document.getElementById('demo').offsetTop) //30
當(dāng)出現(xiàn)滾動條時
body{ margin:0; padding:20px; width:1000px; height:500px; } <div id="demo">123456789123456789</div>
scrollWidth: 返回元素的整個寬度(包括帶滾動條的隱蔽的地方)
scrollHeight: 返回整個元素的高度(包括帶滾動條的隱蔽的地方)
scrollWidth = 2*padding + width console.log(document.body.scrollWidth) //1040 scrollHeight = 2*padding + width console.log(document.body.scrollHeight) //540
scrollTop: 向下滑動滾動塊時元素隱藏內(nèi)容的高度。不設(shè)置時默認(rèn)為0,其值隨著滾動塊滾動而變化
scrollLeft: 向右滑動滾動塊時元素隱藏內(nèi)容的寬度。不設(shè)置時默認(rèn)為0,其值隨著滾動塊滾動而變化
event對象
Event 對象代表事件的狀態(tài),比如事件在其中發(fā)生的元素、鍵盤按鍵的狀態(tài)、鼠標(biāo)的位置、鼠標(biāo)按鈕的狀態(tài)。
event.pageX:相對整個頁面的坐標(biāo),以頁面的左上角為坐標(biāo)原點到鼠標(biāo)所在點的水平距離(IE8不支持)
event.pageY:相對整個頁面的坐標(biāo),以頁面的左上角為坐標(biāo)原點到鼠標(biāo)所在點的垂直距離(IE8不支持)
event.clientX:相對可視區(qū)域的坐標(biāo),以瀏覽器可視區(qū)域左上角為坐標(biāo)原點到鼠標(biāo)所在點的水平距離
event.clientY:相對可視區(qū)域的坐標(biāo),以瀏覽器可視區(qū)域左上角為坐標(biāo)原點到鼠標(biāo)所在點的垂直距離
event.screenX:相對電腦屏幕的坐標(biāo),以屏幕左上角為坐標(biāo)原點到鼠標(biāo)所在點的水平距離
event.screenY:相對電腦屏幕的坐標(biāo),以屏幕左上角為坐標(biāo)原點到鼠標(biāo)所在點的垂直距離
event.offsetX:相對于自身的坐標(biāo),以自身的padding左上角為坐標(biāo)原點到鼠標(biāo)所在點的水平距離
event.offsetY:相對于自身的坐標(biāo),以自身的padding左上角為坐標(biāo)原點到鼠標(biāo)所在點的水平距離
總結(jié)
以上就是獲取JS中網(wǎng)頁各種高寬與位置的方法總結(jié),對大家學(xué)習(xí)JS的時候提供了方便,有需要的小伙伴們可以參考學(xué)習(xí)。
- javascript獲取網(wǎng)頁寬高方法匯總
- javascript實現(xiàn)網(wǎng)頁中涉及的簡易運動(改變寬高、透明度、位置)
- JS獲取屏幕,瀏覽器窗口大小,網(wǎng)頁高度寬度(實現(xiàn)代碼)
- javascript獲取和判斷瀏覽器窗口、屏幕、網(wǎng)頁的高度、寬度等
- JavaScript獲取網(wǎng)頁、瀏覽器、屏幕高度和寬度匯總
- javascript獲取網(wǎng)頁各種高寬及位置的方法總結(jié)
- JS獲取網(wǎng)頁屬性包括寬、高等等
- jQuery javascript獲得網(wǎng)頁的高度與寬度的實現(xiàn)代碼
- JavaScript獲取網(wǎng)頁的寬高及如何兼容詳解
相關(guān)文章
Bootstrap打造一個左側(cè)折疊菜單的系統(tǒng)模板(二)
這篇文章主要介紹了Bootstrap打造一個左側(cè)折疊菜單的系統(tǒng)模板(二)的相關(guān)資料,需要的朋友可以參考下2016-05-05JavaScript+html5 canvas制作色彩斑斕的正方形效果
這篇文章主要介紹了JavaScript+html5 canvas制作色彩斑斕的正方形效果,實例分析了JavaScript結(jié)合html5 canvas實現(xiàn)圖形動態(tài)繪制的技巧,需要的朋友可以參考下2016-01-01JS/jQuery判斷DOM節(jié)點是否存在的簡單方法
下面性價比就為大家?guī)硪黄狫S/jQuery判斷DOM節(jié)點是否存在的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起 小編過來看看吧2016-11-11