利用getBoundingClientRect()来实现div容器滚动固定
程序员文章站
2022-04-04 21:34:55
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样式
就可以实现这样一个效果了
好像貌似兼容性不是很好啊