У меня есть несколько разделов и несколько навигационных ссылок на моей странице. Я использую Intersection Observer, чтобы добавить класс active
к соответствующей ссылке, которая перенаправляет в этот раздел. В какой-то части моей страницы видны 2 раздела. Я хочу добавить класс active
в самый видимый раздел (только один раз за раз), но я не знаю, как это сделать:
Вот код Intersection Observer:
const sectObserver = new IntersectionObserver(entries => {
for (entry of entries) {
// here i get the section id and the link classList:
const { id } = entry.target,
{ classList } = document.querySelector(`#to-${id}`);
if (entry.intersectionRatio) {
classList.add('active');
} else {
classList.remove('active');
};
};
});
А вот экземпляр наблюдателя целей:
document.querySelectorAll('section:not(#get-cv, #skills)')
.forEach(link => sectObserver.observe(link));