Задать вопрос
@Ostic
Программист - любитель

Почему callback для intersectionObserver запускается сразу?

Здравствуйте.
Пример для обсуждения
Я ожидал, что Блок 3 меняет цвет, когда попадает во вьюпорт, но
1. Почему если я даже не прокручиваю, то callback всё равно срабатывает
2. Если я в options не задаю root, то по умолчанию root=window?
3. Получается, что при пересечении вьюпорта в любом направлении срабатывает callback, те слева направо и справа налево тоже? (disconnect() я специально не вызываю)
  • Вопрос задан
  • 386 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@steklovatnik
я сейчас промучался некоторое количество времени, не понимая, почему observer моментально выводит картинки, а не при скролле.
Оказалось, что так как картинки еще не загружены, они "схлопывались" не имея высоты в самом верху страницы, который, естественно, попадал в видимую часть.
После этого они сразу и загружались)))
Надеюсь это сообщение сэкономит кому-нибудь время и нервы/
Ответ написан
Комментировать
hahenty
@hahenty
('•')
Колбэк запускается по нескольким событиям. Например, при загрузке страницы – в этот момент колбэк запускается с аргументом со сведениями о непопадании во вьюпорт.

https://jsfiddle.net/k0m3tzf4/ – здесь добавлен аргумент, можно поизучать его немного, примечателен флаг isIntersecting.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 14:53
30000 руб./за проект
18 дек. 2024, в 14:45
25000 руб./за проект
18 дек. 2024, в 14:43
25000 руб./за проект