handleScroll () {
// 变量scrollTop是滚动条滚动时,距离顶部的距离
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop
// 变量windowHeight是可视区的高度
const windowHeight = document.documentElement.clientHeight || document.body.clientHeight
// 变量scrollHeight是滚动条的总高度
const scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight
// 滚动条到底部的条件
if (this.Iswhole) {
// 只有全部分类页面才能加
if (scrollTop + windowHeight + 1 >= scrollHeight) {
this.throttle(this.LazyfindInventoryList(), 2000)
// 你想做的事情
}
}
},
// 节流
throttle (action, delay, context, iselapsed = true) {
let timeout = null
let lastRun = 0
return function () {
if (timeout) {
if (iselapsed) {
return
} else {
clearTimeout(timeout)
timeout = null
}
}
const elapsed = Date.now() - lastRun
const args = arguments
if (iselapsed && elapsed >= delay) {
runCallback()
} else {
timeout = setTimeout(runCallback, delay)
}
/**
* 执行回调
*/
function runCallback () {
lastRun = Date.now()
timeout = false
action.apply(context, args)
}
}
},
完整
mounted () {
addEventListener('scroll', this.handleScroll)// 监听函数
},
methods: {
float2numFormat,
// 创建使用帮助通知
handleScroll () {
// 变量scrollTop是滚动条滚动时,距离顶部的距离
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop
// 变量windowHeight是可视区的高度
const windowHeight = document.documentElement.clientHeight || document.body.clientHeight
// 变量scrollHeight是滚动条的总高度
const scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight
// 滚动条到底部的条件
if (this.Iswhole) {
// 只有全部分类页面才能加
if (scrollTop + windowHeight + 1 >= scrollHeight) {
this.throttle(this.LazyfindInventoryList(), 2000)
// 你想做的事情
}
}
},
// 节流
(action, 是回调函数,delay, 是时间,context, this,iselapsed 判断是否到时间了
throttle (action, delay, context, iselapsed = true) {
let timeout = null
let lastRun = 0
return function () {
if (timeout) {
if (iselapsed) {
return
} else {
clearTimeout(timeout)
timeout = null
}
}
const elapsed = Date.now() - lastRun
const args = arguments
if (iselapsed && elapsed >= delay) {
runCallback()
} else {
timeout = setTimeout(runCallback, delay)
}
/**
* 执行回调
*/
function runCallback () {
lastRun = Date.now()
timeout = false
action.apply(context, args)
}
}
},
要执行的参数
LazyfindInventoryList () {
}