В JavaScript существует несколько способов определения направления прокрутки при срабатывании события. Один из них - использование свойств scrollTop и scrollLeft элемента, на котором происходит прокрутка, и сравнение их значений с предыдущими значениями.
Например, можно определить направление прокрутки при событии scroll на элементе window следующим образом:
let lastScrollTop = 0;
window.addEventListener("scroll", function() {
let scrollTop = window.pageYOffset || document.documentElement.scrollTop;
if (scrollTop > lastScrollTop) {
console.log("Прокрутка вниз");
} else {
console.log("Прокрутка вверх");
}
lastScrollTop = scrollTop;
});
В этом примере мы определяем значение scrollTop на элементе window и сравниваем его со значением lastScrollTop, которое мы сохраняем в глобальной переменной. Если значение scrollTop больше, чем lastScrollTop, то происходит прокрутка вниз, иначе - прокрутка вверх.
Аналогичным способом можно определить направление прокрутки на любом другом элементе с прокруткой, например, на элементе с классом "scrollable":
javascript
let lastScrollTop = 0;
let scrollable = document.querySelector(".scrollable");
scrollable.addEventListener("scroll", function() {
let scrollTop = scrollable.scrollTop;
if (scrollTop > lastScrollTop) {
console.log("Прокрутка вниз");
} else {
console.log("Прокрутка вверх");
}
lastScrollTop = scrollTop;
});
Здесь мы определяем значение scrollTop на элементе с классом "scrollable" и сравниваем его со значением lastScrollTop. Если значение scrollTop больше, чем lastScrollTop, то происходит прокрутка вниз, иначе - прокрутка вверх.