Может кто-нибудь объяснить мне эту функцию JS? - PullRequest
3 голосов
/ 21 марта 2020

Я нашел эту довольно полезную функцию, которая сообщает вам, прокручивает ли пользователь вверх или вниз в своем браузере чисто javascript. Я вроде получаю первую часть, где функции срабатывают каждый раз, когда вы прокручиваете, и где вы спрашиваете, больше ли количество пикселей от предыдущей позиции, чем новой (так что ожидается истинный или ложный ответ).

Чего я не понимаю: зачем функции нужен параметр (e), а последняя часть функции, в которой говорится, присваивает значению старой прокрутки новое значение прокрутки?

Спасибо, если вы уделите время читать меня, ура: *

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

1 Ответ

6 голосов
/ 21 марта 2020

Чего я не понимаю: зачем функции нужен параметр (e) ...

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

... и последняя часть функции, в которой говорится, присваивает значению старой прокрутки новое значение прокрутки?

Чтобы запомнить последнее значение, которое он увидел, так что в следующий раз, когда происходит событие scroll, он знает, какое значение было в прошлый раз, и может сказать вам, в каком направлении находится новое событие scroll.

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