PerformanceElementTiming: intersectionRect 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 intersectionRect
read-only property of the PerformanceElementTiming
interface returns the rectangle of the element within the viewport.
Value
A DOMRectReadOnly
which is the rectangle of the element within the viewport.
For display images this is the display rectangle of the image within the viewport. For text this is the display rectangle of the node in the viewport. This being the smallest rectangle that contains the union of all text nodes that belong to the element.
Examples
Logging intersectionRect
In this example an <img>
element is being observed by adding the elementtiming
attribute. A PerformanceObserver
is registered to get all performance entries of type "element"
and the buffered
flag is used to access data from before observer creation. Calling entry.intersectionRect
returns a DOMRectReadOnly
object with the display rectangle of the image.
<img
src="image.jpg"
alt="a nice image"
elementtiming="big-image"
id="myImage" />
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
if (entry.identifier === "big-image") {
console.log(entry.intersectionRect);
}
});
});
observer.observe({ type: "element", buffered: true });
Specifications
Specification |
---|
Element Timing API # ref-for-dom-performanceelementtiming-intersectionrect |
Browser compatibility
BCD tables only load in the browser