溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

web前端入門到實戰(zhàn):JavaScript中尺寸類樣式

發(fā)布時間:2020-04-01 16:37:05 來源:網(wǎng)絡 閱讀:299 作者:前端向南 欄目:web開發(fā)

一:鼠標尺寸類樣式

都要事件對象的配合
Tip:注意與瀏覽器及元素尺寸分開,鼠標類尺寸樣式都是X,Y,瀏覽器及元素的各項尺寸時Height,Width

web前端入門到實戰(zhàn):JavaScript中尺寸類樣式

1:檢測相對于瀏覽器的位置:event.clientX/event.clientY

client:整個瀏覽器的可視區(qū)域,當點擊鼠標的時候,鼠標事件發(fā)生的位置距離瀏覽器可視區(qū)域的左邊和上邊的距離
clientX:鼠標事件發(fā)生的位置距離瀏覽器可視區(qū)域的左邊的距離
clientY:鼠標事件發(fā)生的位置距離瀏覽器可視區(qū)域的上邊的距離

2:檢測相對于屏幕的位置event.screenX/event.screenY

screen:整個屏幕的大小,當鼠標點擊的時候,鼠標事件發(fā)生的位置相對于屏幕的左邊和上邊的距離
event.screenX:鼠標事件發(fā)生的位置距離屏幕左邊的距離
event.screenY:鼠標事件發(fā)生的位置距離屏幕上邊的距離
3:檢測相對于事件源的位置:event.offsetX/event.offsetY

Tip:注意這個事件源的模型,offset的檢測是不包括邊框的大小的,但是包括內邊距,如果邊框的大小為10px,那么最左邊的X的距離為-10;

offset:相對于事件源,當鼠標事件發(fā)生時,相對于發(fā)生事件的事件源的左邊的距離和上邊的距離
event.offsetX:當鼠標事件發(fā)生時,相對于發(fā)生事件的事件源的左邊的距離
event.offsetY:當鼠標事件發(fā)生時,相對于發(fā)生事件的事件源的上邊的距離

4:檢測相對于文檔的位置:event.pageX/event.pageY

Tip:這個文檔指的這個頁面,頁面在不發(fā)生滾動的情況下,瀏覽器的可視區(qū)域等于文檔的可視區(qū)域,這個時候event.clientX = event.offetX

一旦頁面發(fā)生了滾動,那么滾動消失的距離,page是可以檢測來的,這時候event.cientX 與 event.pageX的距離是不相等的

page:頁面文檔,當頁面發(fā)生了滾動的,早上文檔頂部隱藏了一部分,pageX的距離還是從文檔最頂?shù)木嚯x開始檢測的
pageX:當鼠標事件發(fā)生時,鼠標相對于文檔左邊的位置(IE7,8沒有)
pageY:當鼠標事件發(fā)生時,鼠標相對于文檔上邊的位置(IE7,8沒有)

二:瀏覽器及元素各項尺寸

offsetParent:獲取元素的最近的具有定位屬性的父元素

web前端入門到實戰(zhàn):JavaScript中尺寸類樣式

1:元素.offsetWidth/元素.offsetHeight:元素的實際寬高

Tip:元素的實際寬高是包括邊框的,指的是這個元素的全部

offset:針對元素的
offsetWidth:元素的寬度
offsetHight:元素的高度

2:元素.offsetLeft/元素.offsetTop,針對具有定位屬性的父元素的左邊和上邊的距離

Tip:從邊框的邊緣開始檢測的

offset:針對元素的
offsetLeft:元素對于具有定位屬性的父元素的左邊距
offsetTop:元素對于具有定位屬性的父元素的上邊距
3:元素.clientWidth/元素.clientHeight
client:不包括元素的邊框
clientWidth:元素的可視寬度
clientHeight:元素的可視高度
4:元素.clientLeft/元素.clientTop
cilentLeft:當前元素的左邊框的大小

clientTop:當前元素的上邊框的大小
5:元素.scrollHeight/元素.scrollwidth
cilentLeft:當前元素的左邊框的大小

clientTop:當前元素的上邊框的大小
6:元素scrollTop/元素.scrollLeft
scrollTop:滾動條最頂端和可見內容的最頂端的距離

scrollLeft:滾動條最左端和可見內容的最左邊的距離
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI