Добрый день. Пытаюсь понять как зафиксировать момент скрола до определенной точки.
Сейчас я создал переменную, и записываю туда координаты элемента.
let off_height = 0;
//цикл перебора элементов, item это найденный DOM элемент, i это номер элемента в списке.
if( i == num )
{
let box = item.getBoundingClientRect();
off_height = box.y;
}
Далее пытаюсь написать код, который бы реагировал на scroll до элемента off_height.
Написал так:
document.addEventListener("wheel", function(el){
if(scroll_last <= window.pageYOffset && off_height > 0)
{
scroll_last = window.pageYOffset;
let scrollHeight = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
// вот тут предполагается что scroll дошел до элемента off_height , но это не так. scrollHeight это просто максимальная длинна экрана и она всегда больше чем off_height.
if(scrollHeight >= off_height )
{
num += 12;
hide_product( num ); //добавляются элементы которые расширяют экран
}
}
});
Подскажите как быть, мне нужно просто указать низ экрана от верха при скролле, чтобы если он достиг off_height выполнялась функция.