W3cubDocs

/Web APIs

IntersectionObserver: trackVisibility property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The trackVisibility read-only property of the IntersectionObserver interface indicates whether the observer is tracking target visibility in addition to element intersections.

Value

true if visibility is being tracked for intersection calculations, and false otherwise.

The value is set using the option.trackVisibility argument to the IntersectionObserver() constructor.

Description

When not tracking visibility, the observer provides notifications when the target element is scrolled into the root element's viewport. However this doesn't tell you if the target element has compromised visibility — it might be partially covered by another element, have reduced opacity, or be distorted by a filter, transform, or other modification.

When tracking visibility, only elements that the browser considers to be visible are shown as intersecting. The algorithm is conservative, and may omit elements that are technically visible, such as those with only a slight opacity reduction.

Note that the calculation of visibility is computationally expensive. To avoid the operation running too often, a delay is used to limit the minimum reporting period.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
trackVisibility 74 79 No 62 No 74 No 53 No 11.0 74 No

See also

© 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/IntersectionObserver/trackVisibility