У элементов есть свойства, называемые метриками - это размеры и различные отступы, в т.ч. от краев страницы и краев экрана.
У окна есть scrollTop/
Простая математика.
var scrollTop = ... // на сколько прокручено окно
var height = window.outerHeight // высота окна
var elTop = // верхняя позиция элемента (offsetTop)
if (scrollTop + height > elTop && scrollTop < elTop) {
// верхняя граница элемента находится в пределах видимости.
}
Если непонятно, возьмите лист бумаги, нарисуйте окно, длинную страницу частично видимую в окне, какой-то элемент на этой странице. Распишите все метрики, и всё встанет на свои места.