IntersectionObserverEntry: свойство intersectionRect
Базовая поддержка Широко распространена
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с марта 2019 года.
Только для чтения свойство IntersectionObserverEntry интерфейса intersectionRect — это объект DOMRectReadOnly, который описывает наименьший прямоугольник, содержащий всю видимую часть целевого элемента внутри области пересечения корневого элемента.
Значение
Объект DOMRectReadOnly, описывающий часть целевого элемента, которая в данный момент видна внутри прямоугольника пересечения корневого элемента.
Этот прямоугольник вычисляется путём пересечения прямоугольника boundingClientRect с каждым из прямоугольников обрезки предков target, за исключением самого прямоугольника пересечения root.
Примеры
В этом простом примере обратный вызов Intersection наблюдает за прямоугольником пересечения для последующего использования кодом, который рисует содержимое целевых элементов, чтобы перерисовывался только видимый участок.
function intersectionCallback(entries) {
entries.forEach((entry) => {
refreshZones.push({
element: entry.target,
rect: entry.intersectionRect,
});
});
}
Спецификации
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
intersectionRect |
51 | 15 | 55 | 38 | 12.1 | 51 | 55 | 41 | 12.2 | 5.0 | 51 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry/intersectionRect