W3cubDocs

/DOM

IntersectionObserverEntry.isIntersecting

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

The IntersectionObserverEntry interface's read-only isIntersecting property is a Boolean value which is true if the target element intersects with the intersection observer's root. If this is true, then, the IntersectionObserverEntry describes a transition into a state of intersection; if it's false, then you know the transition is from intersecting to not-intersecting.

Syntax

var isIntersecting = IntersectionObserverEntry.isIntersecting;

Value

A Boolean value which indicates whether the target element has transitioned into a state of intersection (true) or out of a state of intersection (false).

Example

In this simple example, an intersection callback is used to update a counter of how many targeted elements are currently intersecting with the intersection root.

function intersectionCallback(entries) {
  entries.forEach(function(entry) {
    if (entry.isIntersecting) {
      intersectingCount += 1;
    } else {
      intersectingCount -= 1;
    }
  });
}

To see a more concrete example, take a look at Handling intersection changes in Timing element visibility with the Intersection Observer API.

Specifications

Browser compatibility

Feature Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 51 No

53 — 551

55

No ? ?
Feature Android webview Chrome for Android Edge mobile Firefox for Android IE mobile Opera Android iOS Safari
Basic support 51 51 No ? No ? ?

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.

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry/isIntersecting