Итак, как узнать направление прокрутки при срабатывании события?
В возвращенном объекте ближайшая возможность, которую я вижу, взаимодействует с типом boundingClientRect
сохранения последней позиции прокрутки, но я не знаю, закончится ли обработка boundingClientRect
на проблемах производительности.
Можно ли использовать событие пересечения для определения направления прокрутки (вверх/вниз)?
Я добавил этот базовый фрагмент, поэтому, если кто-то может мне помочь.
Я буду очень благодарен.
Вот фрагмент:
var options = {
rootMargin: '0px',
threshold: 1.0
}
function callback(entries, observer) {
entries.forEach(entry => {
if (entry.isIntersecting) {
console.log('entry', entry);
}
});
};
var elementToObserve = document.querySelector('#element');
var observer = new IntersectionObserver(callback, options);
observer.observe(elementToObserve);
#element {
margin: 1500px auto;
width: 150px;
height: 150px;
background: #ccc;
color: white;
font-family: sans-serif;
font-weight: 100;
font-size: 25px;
text-align: center;
line-height: 150px;
}
<div id="element">Observed</div>