Управление DOM с помощью JavaScript в современных браузерах и IE 11+
Следующие функции возвращают, true
если элемент ele
виден в области просмотра:
const isInViewport = function(ele) {
const rect = ele.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
};