jquery的offset().top 和position().top 详解 和如何用js实现

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 
          }






        
相关文章
相关标签/搜索