This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2019.
The target read-only property of the IntersectionObserverEntry interface indicates which targeted Element has changed its amount of intersection with the intersection root.
The IntersectionObserverEntry's target property specifies which Element previously targeted by calling IntersectionObserver.observe() experienced a change in intersection with the root.
In this simple example, each targeted element's opacity is set to its intersectionRatio.
function intersectionCallback(entries) {
entries.forEach((entry) => {
entry.target.style.opacity = entry.intersectionRatio;
});
}
To see a more concrete example, take a look at Handling intersection changes.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
target |
51 | 15 | 55 | 38 | 12.1 | 51 | 55 | 41 | 12.2 | 5.0 | 51 | 12.2 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry/target