JavaScript IntersectionObserver.thresholds — пороги видимості
Властивість thresholds — це частки видимості, на яких спостерігач має спрацювати: 0 (щойно з'явився край), 0.5 (половина), 1 (видно повністю).
Загальний опис
Задається при створенні як threshold (в однині), а читається як thresholds — масив, навіть якщо передали одне число. Ця розбіжність в іменах збиває з пантелику постійно.
Масив порогів дозволяє стежити за поступом: передавши [0, 0.25, 0.5, 0.75, 1], отримаєш подію на кожній чверті — так роблять індикатори прочитаного й аналітику видимості реклами.
Скільки саме видно, каже entry.intersectionRatio.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 52 | 55 | 12.1 | 39 | 15 | — |
| Переглядач | ||||
|---|---|---|---|---|
| 52 | 52 | 55 | 12.2 |
Приклади
+ запропонувати свій приклад у пісочниці
Стеження за поступом: подія на кожній чверті.
HTML
<article id="article" style="height: 300px; background: #eef6ff;">Стаття</article>
JS
const article = document.getElementById('article');
const observer = new IntersectionObserver(entries => {
for (const entry of entries) {
const percent = Math.round(entry.intersectionRatio * 100);
console.log('Видно на', percent + '%');
}
}, {
// задаємо threshold (однина)
threshold: [0, 0.25, 0.5, 0.75, 1],
});
observer.observe(article);
// а читаємо thresholds (множина, масив)
console.log(observer.thresholds); // [0, 0.25, 0.5, 0.75, 1]
Коментарі
Коментарів ще немає — будьте першим!