Пытаюсь сделать бесконечную страницу и подгружаю новые посты, когда на экране появляется блок, который в самом низу страницы. Делаю это с помощью IntersectionObserver. Вот код
window.addEventListener('load', posts_loading);
function posts_loading() {
const options = { // устанавливаем настройки
root: null, // родитель целевого элемента - область просмотра=
rootMargin: '0px', // без отступов=
threshold: 0.1 // процент пересечения
}
// создаем наблюдатель
const observer_page = new IntersectionObserver((entries, observer) => {
//загружаем посты
load_posts()
}, options);
// подписываем блок для наблюдателя
block_for_scroll = document.querySelector('.block_for_scroll')
observer_page.observe(block_for_scroll)
}
Проблема в том, что новые данные загружаются не сразу, и пока они появятся на странице, событие срабатывает несколько раз. Я могу отписать блок от события при помощи observer.unobserve(target) но я не понимаю как можно подписать его обратно?