js獲取元素到可視區(qū)的距離、瀏覽器窗口滾動距離及元素距離瀏覽器頂部距離
1. js獲取元素距離可視區(qū)的各種距離
const box=document.getElementById('box') // 獲取元素 const ct = box.getBoundingClientRect().top // 元素上邊距離頁面可視區(qū)上邊的距離 const cr = box.getBoundingClientRect().right // 元素右邊距離頁面可視區(qū)左邊的距離 const cb = box.getBoundingClientRect().bottom // 元素下邊距離頁面可視區(qū)上邊的距離 const cl = box.getBoundingClientRect().left // 元素左邊距離頁面可視區(qū)左邊的距離
2. js獲取瀏覽器窗口滾動距離
// 瀏覽器滾動距離 const dt = document.documentElement.scrollTop || document.body.scrollTop;
3. js獲取元素實際距離頁面距離(包括滾動距離)
(1).如果父輩元素中有定位的元素,那么就返回距離當(dāng)前元素最近的定位元素邊緣的距離。
(2).如果父輩元素中沒有定位元素,那么就返回相對于body邊緣距離。
有些限制,對于滾動父元素設(shè)置為scroll:hidden時不生效。
const box = document.getElementById('box') // 元素實際距離頁面頂部距離 const bt = box.offsetTop; // 元素實際距離頁面左邊距離 const bl = box.offsetLeft; // 元素實際距離頁面右邊距離 const br = box.offsetRight; // 元素實際距離頁面底部距離 const bb = box.offsetBottom;
附:獲取元素到頂部或左部的距離
document.querySelector(selectDom).offsetTop:獲取元素到頂部的距離
document.querySelector(selectDom).offsetLeft:獲取元素到左邊的距離
offsetTop:元素到offsetParent頂部的距離
offsetParent:距離元素最近的一個具有定位的祖宗元素(relative,absolute,fixed),若祖宗都不符合條件,offsetParent為body。如下圖所示:獲取child的offsetTop,圖1的offsetParent為father,圖2的offsetParent為body。
注意:只有元素show(渲染完成)才會計算入offsetTop,若是中間有元素數(shù)據(jù)需要異步獲取,會導(dǎo)致最終獲取的offsetTop值偏小
總結(jié)
到此這篇關(guān)于js獲取元素到可視區(qū)的距離、瀏覽器窗口滾動距離及元素距離瀏覽器頂部距離的文章就介紹到這了,更多相關(guān)js獲取元素到可視區(qū)的距離內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
火狐瀏覽器(firefox)下獲得Event對象以及keyCode
firefox Event對象2008-11-11一文詳細(xì)分析前端請求中的“Unsupported?Media?Type”問題
在Web開發(fā)中,前后端交互頻繁遇到HTTP狀態(tài)碼415錯誤,這表明服務(wù)器無法處理因Content-Type不匹配的請求,常見于POST或PUT請求,必須確保請求頭中的Content-Type與服務(wù)器期望的一致,跨域請求中,需要的朋友可以參考下2024-10-10Javascript實現(xiàn)Array和String互轉(zhuǎn)換的方法
這篇文章主要介紹了Javascript實現(xiàn)Array和String互轉(zhuǎn)換的方法,涉及JavaScript中toString方法與split方法的使用技巧,需要的朋友可以參考下2015-12-12JavaScript 基礎(chǔ)表單驗證示例(純Js實現(xiàn))
下面小編就為大家?guī)硪黄狫avaScript 基礎(chǔ)表單驗證示例(純Js實現(xiàn))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07BootstrapValidator實現(xiàn)表單驗證功能
這篇文章主要為大家詳細(xì)介紹了BootstrapValidator實現(xiàn)表單驗證功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11JavaScript判斷變量數(shù)據(jù)類型的常見方法小結(jié)
在JavaScript開發(fā)中,了解和判斷變量的數(shù)據(jù)類型是編寫健壯代碼的基礎(chǔ),變量的類型可以在運行時改變,這為開發(fā)者帶來了靈活性的同時也增加了復(fù)雜性,本文將深入探討幾種常見的判斷變量類型的技巧,并結(jié)合實際案例進(jìn)行分析,需要的朋友可以參考下2024-12-12