JavaScript IntersectionObserver.unobserve() — припинити стежити за елементом


Метод unobserve() припиняє стежити за одним елементом, лишаючи решту під наглядом.

автор: NagarD

Загальний опис

Для одноразових дій він обов'язковий. Ліниве завантаження картинки має спрацювати раз — після цього спостерігати за нею немає жодного сенсу, а ресурси вона й далі споживатиме.

Типове місце виклику — всередині самого обробника, одразу після дії. Другим аргументом обробник отримує сам спостерігач — саме щоб можна було зняти елемент, не тримаючи зовнішньої змінної.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
unobserve 51+ 55+ 12.1+ 38+ 15+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
unobserve 51+ yes yes 12.2+

Приклади

+ запропонувати свій приклад у пісочниці

Анімація появи, що не повторюється.

const observer = new IntersectionObserver((entries, self) => {
    for (const entry of entries) {
        if (!entry.isIntersecting) {
            continue;
        }

        entry.target.classList.add('visible');

        // спрацювало один раз — знімаємо
        self.unobserve(entry.target);
    }
}, { threshold: 0.25 });

document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід