Как постоянно запускать событие прокрутки окна? - PullRequest
0 голосов
/ 11 июля 2020

Я хочу постоянно запускать функцию прокрутки окна, чтобы определять, прокручивает ли пользователь вниз или вверх. Как я могу выполнить sh это с помощью JS?

function doWork(){
window.onscroll = function(e) {
  // print "false" if direction is down and "true" if up
  console.log(this.oldScroll > this.scrollY);
  this.oldScroll = this.scrollY;
}}

var timer =  setInterval(doWork, 0);

1 Ответ

1 голос
/ 11 июля 2020

Обработчики событий вызываются всякий раз, когда пользователь инициирует событие. Вам не нужно постоянно проверять, происходит ли событие. Думайте об этом как об уведомлении pu sh, а не как об извлечении. Следовательно, что-то вроде этого будет работать нормально:

var oldScroll = 0;
window.addEventListener('scroll',function(event){
  console.log(oldScroll > window.scrollY);
  oldScroll = window.scrollY;
});

Обратите внимание, что здесь используется addEventListener. Как правило, это хорошая практика, так как в противном случае вы переопределите любые другие функции, которые вы уже назначили событию прокрутки, вместо того, чтобы просто добавлять новую функцию в список. Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...