const sections = [
{
section: sectionOne,
button: sectionOneButton
},
{
section: sectionTwo,
button: sectionTwoButton
},
// остальные секции
];
window.addEventListener('scroll', () => {
const offsets = sections.map(section => {
const rect = section.section.getBoundingClientRect();
return {
top: rect.top - menuFixedHeight,
bottom: rect.bottom - menuFixedHeight,
};
})
offsets.forEach((offset, key) => {
// Определили, что секция активна
if (offset.top <= 0 && offset.bottom > 0) {
// Убрали у всех класс
sections.forEach(section => section.button.classList.remove('active'))
// Добавили активной
sections[key].button.classList.add('active');
}
})
}