let vm = new Vue(
data () {
return {
recordList: [], // 展示列表
hasNextPage: true, // 是否有下一页
loadPageNo: 0, // 当前加载页码
pageSize: 5, // 一次加载条数
pullUpSwitch: true, // 能否发起请求
pullUpWord: ''
}
}
)
// 当前距离顶部的滚动值
function getScrollTop () {
let scrollTop = 0
if (document.documentElement && document.documentElement.scrollTop) {
scrollTop = document.documentElement.scrollTop
} else if (document.body) {
scrollTop = document.body.scrollTop
}
return scrollTop
}
// 屏幕的高度值
function getClientHeight () {
let clientHeight = 0
if (document.body.clientHeight && document.documentElement.clientHeight) {
clientHeight = Math.min(document.body.clientHeight, document.documentElement.clientHeight)
} else {
clientHeight = Math.max(document.body.clientHeight, document.documentElement.clientHeight)
}
return clientHeight
}
// 滚动条的长度
function getScrollHeight () {
return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
}
// 监听滚动条
window.addEventListener('scroll', () => {
let scrollDiff = getScrollHeight() - getClientHeight() - getScrollTop()
if (vm.pullUpSwitch && scrollDiff <= 50) {
vm.pullUpSwitch = false
vm.loadMore(vm.loadPageNo, vm.pageSize)
}
})
vue丨监听页面滚动位置
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...