js中各種距離clientWidth


由於本人對原生js中各種距離得應用和區分不是很好,特別總結了一下:

clientWidth是對象看到的寬度(不含邊線,即border)
scrollWidth是對象實際內容的寬度(若無padding,那就是邊框之間距離,如有padding,就是左padding和右padding之間距離)。
offsetWidth是指對象自身的寬度,整型,單位像素(含邊線,如滾動條的占用的寬,值會隨着內容的輸入而不斷改變)。

scrollHeight: 獲取對象的滾動高度。
scrollLeft:設置或獲取位於對象左邊界和窗口中目前可見內容的最左端之間的距離
scrollTop:設置或獲取位於對象最頂端和窗口中可見內容的最頂端之間的距離
scrollWidth:獲取對象的滾動寬度
offsetHeight:獲取對象相對於版面或由父坐標 offsetParent 屬性指定的父坐標的高度
offsetLeft:獲取對象相對於版面或由 offsetParent 屬性指定的父坐標的計算左側位置
offsetTop:獲取對象相對於版面或由 offsetTop 屬性指定的父坐標的計算頂端位置
易混淆點:
clientX 設置或獲取鼠標指針位置相對於當前窗口的 x 坐標,其中客戶區域不包括窗口自身的控件和滾動條。
clientY 設置或獲取鼠標指針位置相對於當前窗口的 y 坐標,其中客戶區域不包括窗口自身的控件和滾動條。
offsetX 設置或獲取鼠標指針位置相對於觸發事件的對象的 x 坐標。
offsetY 設置或獲取鼠標指針位置相對於觸發事件的對象的 y 坐標。
screenX 設置或獲取獲取鼠標指針位置相對於用戶屏幕的 x 坐標。
screenY 設置或獲取鼠標指針位置相對於用戶屏幕的 y 坐標。
x 設置或獲取鼠標指針位置相對於父文檔的 x 像素坐標(亦即相對於當前窗口)。
y 設置或獲取鼠標指針位置相對於父文檔的 y 像素坐標(亦即相對於當前窗口)。

document.documentElement.scrollTop 垂直方向滾動的值
event.clientX+document.documentElement.scrollTop 相對文檔的水平座標+垂直方向滾動的量
以上主要指IE之中,FireFox差異如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height(需要提一下:CSS中的margin屬性,與clientWidth、offsetWidth、clientHeight、offsetHeight均無關)

(可以在自己的電腦上自測:console)
網頁可見區域寬: document.body.clientWidth;

document.body.clientWidth+'px'
1366px

網頁可見區域高: document.body.clientHeight;

document.body.clientHeight;
1589

網頁可見區域寬: document.body.offsetWidth (包括邊線的寬);

document.body.offsetWidth
1339

網頁可見區域高: document.body.offsetHeight (包括邊線的寬);

document.body.offsetHeight
1589

網頁正文全文寬: document.body.scrollWidth;

document.body.scrollWidth
1349


網頁正文全文高: document.body.scrollHeight;

document.body.scrollHeight
1632


網頁被卷去的高: document.body.scrollTop;
網頁被卷去的左: document.body.scrollLeft;
網頁正文部分上: window.screenTop;
網頁正文部分左: window.screenLeft;
屏幕分辨率的高: window.screen.height;

window.screen.height
768


屏幕分辨率的寬: window.screen.width;

window.screen.width
1366


屏幕可用工作區高度: window.screen.availHeight;

window.screen.availHeight
728


屏幕可用工作區寬度:window.screen.availWidth;

window.screen.availWidth
1366


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM