Как понять до какого место произведен scroll.
Добрый день. Пытаюсь понять как зафиксировать момент скрола до определенной точки.
Сейчас я создал переменную, и записываю туда координаты элемента. 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 выполнялась функция. |
element.getBoundingClientRect().top + document.body.scrollTop; |
Часовой пояс GMT +3, время: 23:11. |