代码改变世界

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

2018-02-11 16:43  改吧  阅读(618)  评论(0编辑  收藏  举报

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样式

就可以实现这样一个效果

 

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