Наблюдатель пересечения, не запускающий раздел, связанный с другой страницей

#intersection-observer

#Наблюдатель пересечения

Вопрос:

Я настроил API Intersection Observer на своей домашней странице. У меня есть разделы с идентификаторами, которые связаны с меню навигации. Каждый раздел успешно запускает обратный вызов наблюдателя пересечения, поскольку он прокручивается со страницы при нажатии.

Я ссылаюсь на эти же разделы с других страниц в меню навигации, однако при нажатии на одну из этих ссылок осуществляется переход к разделу на домашней странице, но обратный вызов наблюдателя пересечения не выполняется.

Вот пример навигационной ссылки: index.html#about-us

Код наблюдателя пересечения:

 var aboutUs = document.querySelector('#about-us');

var observer = new IntersectionObserver(function(entries) {
        if(entries[0].isIntersecting === true) {
            entries[0].target.style.opacity = '1';
        }
    }, { threshold: [0.5] });

observer.observe(aboutUs);
  

Если у кого-нибудь есть какой-либо опыт в этом, пожалуйста, дайте мне знать.

Ответ №1:

Я нашел решение. Проверка window.scrollY позиции в условном и последующее выполнение кода для этого раздела:

 if (window.scrollY > 1700 amp;amp; window.scrollY < 1800) {
        for (let i = 0; i < serviceDivs.length; i  ) {
            var el = serviceDivs[i];
            el.style.opacity = '1';
        }
    }