滑动一定距离固定div
本文最后更新于:2021年3月3日 凌晨
知乎和简书等一些文章阅读,右边为内容栏,左边为作者信息,作者信息会比较短,所以在滑动一段距离后,会固定

实现方法如下:
- 获取四个数据,包括:当前窗口的高度,需要固定div的y轴距离和高度,参照div的y轴距离
let windowHeight = window.innerHeight let divHeigh = document.getElementById('xxx').offsetHeight let divY = document.getElementById('xxx').getBoundingClientRect().y let divFriendY = document.getElementById('xxx').getBoundingClientRect().y
- 判断什么时候举要固定
// 监听全局滚栋事件 window.addEventListener("scroll", () => { // 当divHeight大于屏幕高度 if(divHeight>windowHeight){ // 当div显示到末尾时 if(divY<=windowHeight-divHeight){ document.getElementById('xxx').style.position = "fixed" ... // 按需求配置 } if(divFriendY >= windowHeight - divHeight){ document.getElementById('xxx').style.position = "relative" ... // 按需求配置 } }else{ // 当divHeight小于等于屏幕高度 document.getElementById('xxx').style.position = "fixed" ... // 按需求配置 } })
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!