我正在处理一个小型应用程序,我想知道如何监听滚动事件的 end 。
我知道以下代码允许我监听滚动事件,但在我的情况下,我正在寻找一种在用户停止滚动时触发事件的方法。
window.addEventListener('scroll', () => {
(!this.state.showScrollWidget) ? this.setState({showScrollWidget: true}) : null;
})
如果有人对最佳方式有所了解,我将非常感谢您的帮助,否则,如果有任何第三方图书馆可以完成这项工作,我也会感激任何建议。
感谢。
答案 0 :(得分:5)
我不认为有任何事件可以通知您滚动停止了。通常,您需要等待一段时间才能过去,直到最后一次滚动事件。通常你会使用debounce操作 - 许多不同的实用程序库实现它,例如lodash(https://lodash.com/docs/4.17.10#debounce):
window.addEventListener('scroll', _.debounce(() => { console.log('scrolling stopped') }, 1000))