js獲取元素在頁面上的偏移量的方法匯總_javascript技巧
來源:懂視網
責編:小采
時間:2020-11-27 21:36:59
js獲取元素在頁面上的偏移量的方法匯總_javascript技巧
js獲取元素在頁面上的偏移量的方法匯總_javascript技巧:使用js制作效果時,我們常常要獲取某個元素在頁面上的偏移量(例如tip提示框功能)。而獲取偏移量可以直接獲取相對于document的偏移量,也可以獲取相對與視口的偏移量(viewpoint)加上頁面滾動量(scroll)獲得。 1.獲取相對與document的偏移量 fu
導讀js獲取元素在頁面上的偏移量的方法匯總_javascript技巧:使用js制作效果時,我們常常要獲取某個元素在頁面上的偏移量(例如tip提示框功能)。而獲取偏移量可以直接獲取相對于document的偏移量,也可以獲取相對與視口的偏移量(viewpoint)加上頁面滾動量(scroll)獲得。 1.獲取相對與document的偏移量 fu

使用js制作效果時,我們常常要獲取某個元素在頁面上的偏移量(例如tip提示框功能)。而獲取偏移量可以直接獲取相對于document的偏移量,也可以獲取相對與視口的偏移量(viewpoint)加上頁面滾動量(scroll)獲得。
1.獲取相對與document的偏移量
通過向上迭代offsetParent,可以計算出相對于document的偏移量,也就是相對與頁面的偏移量。
此方法的問題:
1)對于使用表格和內嵌框架布局的頁面,由于不同瀏覽器實現元素方式的差異,得到的結果就不精確了。
2)每次都需要一級一級向上查找offsetParent,效率太低。
2.獲取相對與視口的偏移量(viewpoint)加上頁面的滾動量(scroll)
此方法直接通過getBoundingClientRect()方法獲得相對于視口的偏移量,加上頁面的滾動量,減去clientTop,clientLeft (IE8及更低版本瀏覽器將(2,2)作為起點坐標,所以要將值減去起點坐標,其他瀏覽器都是已(0,0)作為起點坐標)。
getBoundingClientRect()方法支持IE,ff3+,safari4+,Orear9,5,Chrome.
3.兼容性寫法
對于支持getBoundingClientRect()方法的瀏覽器使用getOffsetRect()方法,不支持的則使用getOffsetSum()方法。
以上所述就是本文的全部內容了,希望能夠對大家學習javascript有是幫助。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
js獲取元素在頁面上的偏移量的方法匯總_javascript技巧
js獲取元素在頁面上的偏移量的方法匯總_javascript技巧:使用js制作效果時,我們常常要獲取某個元素在頁面上的偏移量(例如tip提示框功能)。而獲取偏移量可以直接獲取相對于document的偏移量,也可以獲取相對與視口的偏移量(viewpoint)加上頁面滾動量(scroll)獲得。 1.獲取相對與document的偏移量 fu