#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';
}
}