No puedo entender la lógica pageYoffset >= (element.offsetTop - element.clientHeight / 3) de la declaración if .
Soy un principiante. Sé lo que es offsetTop , clientHeight y pageYOffset que no entiendo las matemáticas detrás de esto. Por favor ayuda.
Aquí está mi código:
const sections document.querySelectorAll('section'); const navLi = document.querySelectorAll('nav .container u1 li'); window.addEventlistener ('scroll', ()=> { let current = ''; sections.forEach( section => { const sectionTop = section.offsetTop; const sectionHeight = section.clientHeight; if(pageYOffset >= (sectionTop - sectionHeight / 3)){ current = section.getAttribute('id'); }) navLi.forEach( li => { li.classList.remove('active'); if(li.classList.contains(current)){ li.classList.add('active') }) })