1 jquery定義:jquery
offset().top 相對於當前文檔的座標(的高度)
ps:包括滾動條捲去的高度
position().top 返回的是相對於其定位的祖輩元素的座標(的高度)
ps:包括滾動條捲去的高度
一圖勝千言!dom
統一前提spa
綠色容器 margin-top: 10pxcode
每個紅色小盒子 width:80px height:80pxblog
a狀況文檔
b狀況it
c 狀況io
2 結論class
js中容器
offsetTop 始終指向相對於其定位的祖輩元素的座標的高度,是固定的,不管祖先元素 是否滾動 ps:(意思就是這個元素本身沒有滾動條 他的祖先元素有滾動條,)
scrollTop 指向本身被捲去的高度,ps:(意思就是這個元素是祖先元素,它本身有滾動條,)
因此 jquery 中的 $domtext.offset().top == var jsTop = 0; jsTop += domtext.offsetTop ; 遍歷 domtext的全部祖先元素 jsTop += 祖先元素的scrollTop if(祖先元素 定位了){ jsTop += 當前祖先元素的offsetTop }