欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

利用getBoundingClientRect()来实现div容器滚动固定

程序员文章站 2022-06-30 13:22:44
ele.getBoundingClientRect()的方法是可以获得一个元素在整个视图窗口的位置 可以return的值有width,height,top,left,x,y,right,bottom 场景 当你的一个div是处在viewport的一个中部位置 你想要的效果是当页面滚动到这个div的时 ......

ele.getBoundingClientRect()的方法是可以获得一个元素在整个视图窗口的位置

可以return的值有width,height,top,left,x,y,right,bottom

 

场景

当你的一个div是处在viewport的一个中部位置

你想要的效果是当页面滚动到这个div的时候,这个div就固定在页面的顶部位置,其它滚动不变

 

思路

实现的思路可以利用这个方法来拿到这个div的top值

这个top值就是这个div到viewport的top值

监听页面的滚动事件 然后当这个top值<=0的时候 你可以给这个div加一个fixed固定的一个css样式

就可以实现这样一个效果

 

好像貌似兼容性不是很好啊