利用getBoundingClientRect()来实现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样式

就可以实现这样一个效果

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

原文地址:https://www.cnblogs.com/lwwen/p/8442568.html