一些问题的解决方案
zKing 2018-11-27 JavaScript踩坑
这里存放着我对一些问题的解决方案
# 如何实现无限下拉
- 原理
- windows 监听 scroll
- 得到设备的高度 ClientHeight
- 得到滚动区域的高度 ScrollHeight
- 得到滚动条,滚动的距离 top
- 获取页面上绝对定位的高度 absoulteHegiht
- sum = scrollHeight - top + absoulteHegiht
- 当 sum < ClientHeight ,说明已经到底部了
实现示例
window.onscroll= function(){
let absoulteHegiht = 140 // 固定的高度
let clientHeight = document.documentElement.clientHeight // 设备高度
let scrollObj = document.getElementById('infintyContainer') // 滚动区域
let scrollHeight = scrollObj.scrollHeight // 滚动区域的总高度
let top = document.documentElement.scrollTop || document.body.scrollTop // 滚动条滚动的距离
let sum = scrollHeight - top + absoulteHegiht
if (sum < clientHeight) {
alert('到底部了!')
}
console.log(clientHeight)
console.log(sum)
}