Я работаю над небольшим приложением, и мне интересно, как я могу прослушать конец события прокрутки.
Я знаю, что следующий код позволяет мне прослушивать события прокрутки, но в моем случае я ищу способ инициировать событие, когда пользователь прекращает прокрутку.
window.addEventListener('scroll', () => {
(!this.state.showScrollWidget) ? this.setState({showScrollWidget: true}) : null;
})
Если у кого-то есть представление о том, как лучше всего это сделать, я буду признателен за помощь, в противном случае, если есть какая-либо сторонняя библиотека, которая может выполнить эту работу, я также буду признателен за любые предложения.
Спасибо.
да, я знаю, что могу сделать это с помощью функции интервала, но мне было интересно, есть ли лучшее решение относительно библиотеки, я жду некоторых предложений.
Неа. Просто используйте setTimeout(). Нет смысла использовать другую библиотеку для чего-то столь тривиального (если она вообще существует - в чем я сомневаюсь).



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я не думаю, что есть какое-то событие, чтобы уведомить вас об остановке прокрутки. В общем, вам нужно подождать некоторое время, чтобы пройти до последнего события прокрутки. Обычно для этого используется операция debounce - ее реализуют многие различные служебные библиотеки, например lodash (https://lodash.com/docs/4.17.10#debounce):
window.addEventListener('scroll', _.debounce(() => { console.info('scrolling stopped') }, 1000))
возможно, должна помочь функция интервала, которая будет проверять последнюю позицию прокрутки и текущую позицию прокрутки, если они одинаковы, это означает, что пользователь не прокручивает. Но какую библиотеку вы планируете использовать?