Обычно для решения этой задачки вешают event на scroll по отношению к window. А потом с помощью getBoundingClientRect узнают расстояние нужного блока относительно viewport и считают.
Если нужно сделать "когда пользователь проскроллил ниже верха страницы", то все еще проще:
const header = document.querySelector('.test') // вместо test класс твоего хэдера
window.addEventListener('scroll', () => {
if (pageYOffset > 0) {
header.classList.add('header_active') // твой класс для прозрачности, но можно и header.style.opacity = 0.5;
} else {
header.classList.remove('header_active')
}
})