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

1 jquery定义:

  offset().top 相对于当前文档的坐标(的高度)
           ps:包括滚动条卷去的高度   position().top 返回的是相对于其定位的祖辈元素的坐标
(的高度)
            ps:包括滚动条卷去的高度

一图胜千言!

 统一前提

      绿色容器 margin-top: 10px

  每一个红色小盒子  width:80px height:80px

a情况

b情况

 

 c 情况

 

2 结论

 js中

offsetTop 始终指向相对于其定位的祖辈元素的坐标的高度,是固定的,无论祖先元素 是否滚动  ps:(意思就是这个元素自己没有滚动条 他的祖先元素有滚动条,)
scrollTop  指向自己被卷去的高度,ps:(意思就是这个元素是祖先元素,它自己有滚动条,)
  所以 jquery 中的 $domtext.offset().top   ==
    
        var jsTop = 0;
       jsTop += domtext.offsetTop ;

    遍历 domtext的所有祖先元素

          jsTop += 祖先元素的scrollTop 

      if(祖先元素 定位了){
           jsTop += 当前祖先元素的offsetTop 
          }






        

 

转载于:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/6202649.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值