API Intersection Observer можно использовать для отслеживания изменений в HTMLElement
изменениях видимости области просмотра.
Чтобы проверить, когда видимость веб-страницы, элемент body
наблюдается, когдапо крайней мере 10% его содержимого является видимым или нет.
const options = { threshold: 0.1 };
const callback = ([bodyElement]) => {
if (bodyElement.isIntersecting) {
// Element is visible.
}
};
const observer = new window.IntersectionObserver(callback, options);
const bodyElement = document.querySelector('body');
observer.observe(bodyElement);
Дополнительные сведения см. в спецификации.
Имейте в виду: это не стандартный API. Таким образом, вам могут понадобиться запасные варианты, и это не поддерживается широко. Также могут возникнуть проблемы с производительностью.