This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The IntersectionObserverEntry interface of the Intersection Observer API describes the intersection between the target element and its root container at a specific moment of transition. Instances of IntersectionObserverEntry are delivered to an IntersectionObserver callback in its entries parameter; otherwise, these objects can only be obtained by calling IntersectionObserver.takeRecords().
Properties
IntersectionObserverEntry.boundingClientRectRead only- Returns the bounds rectangle of the target element as a
DOMRectReadOnly. The bounds are computed as described in the documentation forElement.getBoundingClientRect(). IntersectionObserverEntry.intersectionRatioRead only- Returns the ratio of the
intersectionRectto theboundingClientRect. IntersectionObserverEntry.intersectionRectRead only- Returns a
DOMRectReadOnlyrepresenting the target's visible area. IntersectionObserverEntry.isIntersectingRead only- A Boolean value which is
trueif the target element intersects with the intersection observer's root. If this istrue, then, theIntersectionObserverEntrydescribes a transition into a state of intersection; if it'sfalse, then you know the transition is from intersecting to not-intersecting. IntersectionObserverEntry.rootBoundsRead only- Returns a
DOMRectReadOnlyfor the intersection observer's root. IntersectionObserverEntry.targetRead only- The
Elementwhose intersection with the root changed. IntersectionObserverEntry.timeRead only- A
DOMHighResTimeStampindicating the time at which the intersection was recorded, relative to theIntersectionObserver's time origin.
Methods
This interface has no methods.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Intersection Observer The definition of 'IntersectionObserverEntry' in that specification. |
Working Draft | Initial definition |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 51 | 15 | 55 53 — 551 | No | ? | ? |
boundingClientRect | 51 | 15 | 55 53 — 551 | No | ? | ? |
intersectionRatio | 51 | 15 | 55 53 — 551 | No | ? | ? |
intersectionRect | 51 | 15 | 55 53 — 551 | No | ? | ? |
isIntersecting | 51 | No | 55 53 — 551 | No | ? | ? |
rootBounds | 51 | 15 | 55 53 — 551 | No | ? | ? |
target | 51 | 15 | 55 53 — 551 | No | ? | ? |
time | 51 | 15 | 55 53 — 551 | No | ? | ? |
| Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
|---|---|---|---|---|---|---|---|
| Basic support | 51 | 51 | Yes | ? | ? | ? | ? |
boundingClientRect | 51 | 51 | Yes | ? | ? | ? | ? |
intersectionRatio | 51 | 51 | Yes | ? | ? | ? | ? |
intersectionRect | 51 | 51 | Yes | ? | ? | ? | ? |
isIntersecting | 51 | 51 | No | ? | ? | ? | ? |
rootBounds | 51 | 51 | Yes | ? | ? | ? | ? |
target | 51 | 51 | Yes | ? | ? | ? | ? |
time | 51 | 51 | Yes | ? | ? | ? | ? |
1. From version 53 until version 55 (exclusive): this feature is behind the dom.IntersectionObserver.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

