IntersectionObserverEntry:intersectionRatio 属性

基线 广泛可用

此功能已得到良好确立,并在许多设备和浏览器版本上都能正常运行。它自 2019 年 3 月.

IntersectionObserverEntry 接口的只读 intersectionRatio 属性会告诉你目标元素当前在根的交叉比率内可见的程度,作为一个介于 0.0 和 1.0 之间的值。

一个介于 0.0 和 1.0 之间的数字,表示目标元素在根的交叉矩形内实际可见的程度。更准确地说,此值是交叉矩形 (intersectionRect) 的面积与目标边界矩形 (boundingClientRect) 的面积之比。

如果目标边界矩形的面积为零,则如果 isIntersectingtrue,则返回 1,否则返回 0。

示例

在这个简单的示例中,一个交叉回调将每个目标元素的 opacity 设置为该元素与根的交叉比率。

js
function intersectionCallback(entries) {
  entries.forEach((entry) => {
    entry.target.style.opacity = entry.intersectionRatio;
  });
}

要查看更具体的示例,请查看 处理交叉更改

规范

规范
Intersection Observer
# dom-intersectionobserverentry-intersectionratio

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。