JavaScript獲取元素距離文件頂部的距離
分享一段程式碼例項,它可以獲取元素距離視窗頂部的距離。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> * { margin:0px; padding:0px; } body { height:1500px; } #box { width:200px; height:100px; background-color:blue; padding:50px; margin:30px; } #ant { width:100px; height:50px; text-align:center; line-height:50px; background-color:red; } </style> <script> window.onload = () => { let obox = document.getElementById("box"); let oant = document.getElementById("ant"); let obt = document.getElementById("bt"); let getPoint = (obj) => { let t = obj.offsetTop; while (obj = obj.offsetParent) { t += obj.offsetTop; } return t; } obt.onclick = () => { oant.innerHTML = getPoint(oant); } } </script> </head> <body> <div id="box"> <div id="ant"></div> </div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
上面程式碼實現了我們要求,下面介紹一下實現過程。
一.實現原理:
offsetTop可以返回元素距離offsetParent屬性返回元素頂部的距離(如果父元素有定位的,那麼將返回距離最近的定位元素,否則返回body元素,元素可能有多個定位元素,需要通過遞迴的方式層層獲取距離,然後相加)。
特別說明:需要將body的外邊距設定為0,這樣元素距離body頂部的距離就等同於距離文件頂部的距離。
二.相關閱讀:
(1).箭頭函式參閱JavaScript 箭頭函式介紹一章節。
(2).document.getElementById參閱document.getElementById一章節。
(3).offsetTop參閱JavaScript offsetTop一章節。
(4).offsetParent參閱JavaScript offsetParent一章節。
(5).innerHTML參閱JavaScript innerHTML 屬性一章節。
(6).while參閱JavaScript while 語句一章節。
相關文章
- javascript獲取元素距離網頁頂部的距離JavaScript網頁
- JavaScript 元素距離視窗頂部的距離JavaScript
- jQuery獲取div距離視窗頂部或者父元素頂部的距離jQuery
- jQuery獲取網頁中的元素距離文件邊緣的距離程式碼例項jQuery網頁
- 原生JS獲取DOM 節點到瀏覽器頂部的距離或者左側的距離JS瀏覽器
- 獲取DOM元素到頁面頂部的距離,親測有效版本(轉載)
- vue js 獲取滾動距離 以及 返回頂部按鈕VueJS
- 最小距離分類器,互動式選取影像樣本分類資料,進行最小距離分類(實現歐式距離,馬氏距離,計程距離)
- 曼哈頓距離與切比雪夫距離
- 曼哈頓距離與切比雪夫距離的互化
- PostgreSQL遺傳學應用-矩陣相似距離計算(歐式距離,…XX距離)SQL矩陣
- 編輯距離及編輯距離演算法演算法
- 如何獲取向下滾動的距離
- Laravel 距離排序Laravel排序
- unit原子距離
- 【Python】距離Python
- 透過經緯度計算距離獲取附近商家
- Vijos1680距離/openjudge2988計算字串的距離[DP]字串
- 距離度量學習
- 【DP】編輯距離
- js向下滾動一段距離出現返回頂部按鈕JS
- milvus 使用 l2 歐式距離計算向量的距離,計算出來的距離的最大值是多少?
- java 經緯度處理、計算兩地的距離、獲取當前一定距離以內的經緯度值Java
- 空間距離計算
- 獲取資料庫中到指定經緯度距離的座標資料庫
- 拖動滾動條一定距離可以固定於頂部的導航欄
- CSS3元素水平運動指定距離CSSS3
- eMarketer:定位廣告的距離問題
- 28、(向量)歐幾里得距離計算
- 洛谷 1279 字串距離字串
- RecyclerView滑動距離計算View
- 計算字串編輯距離字串
- 編輯距離演算法演算法
- 距離-有這麼多類
- 線性dp:編輯距離
- 【谷歌面試題】求陣列中兩個元素的最小距離谷歌面試題陣列
- 求兩向量距離的CUDA實現
- 人際關係的八種距離