jQuery的offset().top
它獲取的值==你獲取的元素的上邊框距離html的頂部的值
JS的offsetTop
它獲取的值==你獲取的元素的上邊框距離與它最近的父級元素(必須要脫離文檔流的,relative沒有用)的的頂部的值
原生:
方法一:
遞歸節(jié)點的offsetTop
function getElementToPageTop(el) {
if(el.parentElement) {
return this.getElementToPageTop(el.parentElement) + el.offsetTop
}
return el.offsetTop
}
方法二:
獲取當前元素到可視區(qū)域頂端的距離
object.getBoundingClientRect();
再加上 document.documentElement.scrollTop
jquery:
$('xxx').offset().top;
:有圖片的一定要圖片加載完成后再計算