触底加载没有效果--触底时传入scroll的函数没有执行

来源:10-1 课程回顾

慕仔732134

2020-02-23

已测试可以调用scroll() 可以进入scroll.start()函数 但是触底时完全没有反应 触底时没有执行传入的getList()函数

应该是scroll,start()函数内出了问题 但是不太懂start函数的原理 所以不知道是哪里的问题

源码----复制的老师的
const scroll = {
isEnd: false,
start(callback) {
let timer = null
callback && window.addEventListener(‘scroll’, () => {
if (timer) {
clearTimeout(timer)
}
// 函数防抖
timer = setTimeout(() => {
// 浏览器向上滚动的高度
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop
// 文档的真实高度
const scrollHeight = document.documentElement.scrollHeight
// 浏览器窗口(文档)的可视高度,就是肉眼可见的那部分全屏高度
const clientHeight = document.documentElement.clientHeight
if (!this.isEnd && scrollHeight == scrollTop + clientHeight) {
window.scrollTo(0, scrollTop - 100)
// 请求数据
callback()
}
}, 300)
})
},
end() {
this.isEnd = true
}
}

export default scroll

写回答

2回答

企鹅小仙女

2021-03-22

我发现这个触底加载新数据是没有毛病的 如果发生触底了没加载新数据的效果 只要刷新一下页面 就解决了 emmm.....

0
0

谢成

2020-02-23

可以在这里输出下这几个值,看下是哪个值有问题:

//img.mukewang.com/szimg/5e528a6d098bdb3007860344.jpg

0
0

微信小程序云开发-从0打造云音乐全栈小程序

横跨小程序端、云后端、CMS一站式云开发的小程序全栈课程

1938 学习 · 2768 问题

查看课程