pageX、clientX、screenX、offsetX、ScrollLeft、ScrollTop、clientLeft、screenLeft

1、鼠標事件


pageX、clientX、screenX

clientX 設置或獲取鼠標指針位置相對于瀏覽器內容窗口的 x 坐標,其中客戶區(qū)域不包括窗口自身的控件和滾動條。

clientY 設置或獲取鼠標指針位置相對于瀏覽器內容窗口的 y 坐標,其中客戶區(qū)域不包括窗口自身的控件和滾動條。
(跟screenX相比就是將參照點改成了瀏覽器內容區(qū)域的左上角,該參照點會隨之滾動條的移動而移動,也就是說,他計算left或top時直接忽略了滾動條的高和寬,它的參考點是瀏覽器可見區(qū)域的左上角,而不是頁面本身的body左上角原點,計算數值和滾動條是否滾動沒有關系,只是絕對的計算鼠標點距離瀏覽器內容區(qū)域的左上角的距離,忽略了滾動條的存在)

offsetX 設置或獲取鼠標指針位置相對于觸發(fā)事件的對象的 x 坐標。
offsetY 設置或獲取鼠標指針位置相對于觸發(fā)事件的對象的 y 坐標。

screenX 設置或獲取獲取鼠標指針位置相對于用戶屏幕的 x 坐標。
screenY 設置或獲取鼠標指針位置相對于用戶屏幕的 y 坐標。

pageX:參照點是頁面本身左上角的原點.已經把滾動條滾過的高或寬計算在內.

所以基本可以得出結論:
pageX > clientX, pageY > clientY
pageX = clientX + ScrollLeft(滾動條滾過的水平距離)
pageY = clientY + ScrollTop(滾動條滾過的垂直距離)

2、網頁


圖片.png

網頁可見區(qū)域寬: document.body.clientWidth;
clientLeft: 獲取對象的border寬度
clientTop:獲取對象的border高度
網頁可見區(qū)域高: document.body.clientHeight;
包括padding但不包括border、水平滾動條、margin的元素的高度。對于inline的元素這個屬性一直是0,單位px,只讀元素。


圖片.png

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

包括padding、border、水平滾動條,但不包括margin的元素的高度。對于inline的元素這個屬性一直是0,單位px,只讀元素。

當本元素的子元素比本元素高且overflow=scroll時,本元素會scroll,這時:scrollHeight: 因為子元素比父元素高,父元素不想被子元素撐的一樣高就顯示出了滾動條,在滾動的過程中本元素有部分被隱藏了,scrollHeight代表包括當前不可見部分的元素的高度。而可見部分的高度其實就是clientHeight,也就是scrollHeight>=clientHeight恒成立。在有滾動條時討論scrollHeight才有意義,在沒有滾動條時scrollHeight==clientHeight恒成立。單位px,只讀元素。


圖片.png

網頁正文全文寬: document.body.scrollWidth
網頁正文全文高: document.body.scrollHeight


圖片.png

網頁被卷去的高: document.body.scrollTop
網頁被卷去的左: document.body.scrollLeft
圖片.png

網頁正文部分上: window.screenTop;
網頁正文部分左: window.screenLeft;{screenLeft和screenTop屬性返回窗口相對于屏幕的X和Y坐標}
offsetTop: 當前元素頂部距離最近父元素頂部的距離,和有沒有滾動條沒有關系。單位px,只讀元素。

3、屏幕

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

獲取用戶電腦屏幕的高度,是不關瀏覽器或者頂部工具欄跟底部工具欄的高度的
屏幕可用工作區(qū)高度: window.screen.availHeight;
屏幕可用工作區(qū)寬度:window.screen.availWidth;

電腦屏幕減掉頂部工具欄跟底部工具欄的高度

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Window和document對象的區(qū)別 window對象window對象表示瀏覽器中打開的窗口window對象是...
    FConfidence閱讀 2,368評論 0 5
  • HTML標簽解釋大全 一、HTML標記 標簽:!DOCTYPE 說明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,540評論 1 41
  • 一、JS前言 (1)認識JS 也許你已經了解HTML標記(也稱為結構),知道了CSS樣式(也稱為表示),會使用HT...
    凜0_0閱讀 2,945評論 0 8
  • HTML精確定位:scrollLeft,scrollWidth,clientWidth,offsetWidth s...
    brightranger閱讀 1,146評論 0 1
  • 決定了要做的事情總是那么的堅決,連一絲怠慢也不允許。固執(zhí)中還帶著那么絲倔強。除了努力變得更優(yōu)秀之外,其它的都交給順...
    成為更閃耀的釗兒閱讀 267評論 0 0

友情鏈接更多精彩內容