Version: 2.x
IntersectionObserver
IntersectionObserver
对象,用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见。
#
方法#
disconnect停止监听。回调函数将不再触发
#
observe指定目标节点并开始监听相交状态变化情况
参数 | 类型 | 说明 |
---|---|---|
targetSelector | string | 选择器 |
callback | ObserveCallback | 监听相交状态变化的回调函数 |
#
relativeTo使用选择器指定一个节点,作为参照区域之一。
参数 | 类型 | 说明 |
---|---|---|
selector | string | 选择器 |
margins | RelativeToMargins | 用来扩展(或收缩)参照节点布局区域的边界 |
#
relativeToViewport指定页面显示区域作为参照区域之一
参数 | 类型 | 说明 |
---|---|---|
margins | RelativeToViewportMargins | 用来扩展(或收缩)参照节点布局区域的边界 |
#
示例代码下面的示例代码中,如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。
#
参数#
ObserveCallback监听相交状态变化的回调函数
参数 | 类型 |
---|---|
result | ObserveCallbackResult |
#
ObserveCallbackResult参数 | 类型 | 说明 |
---|---|---|
boundingClientRect | BoundingClientRectResult | 目标边界 |
intersectionRatio | number | 相交比例 |
intersectionRect | IntersectionRectResult | 相交区域的边界 |
relativeRect | RelativeRectResult | 参照区域的边界 |
time | number | 相交检测时的时间戳 |
#
RelativeRectResult参照区域的边界
参数 | 类型 | 说明 |
---|---|---|
bottom | number | 下边界 |
left | number | 左边界 |
right | number | 右边界 |
top | number | 上边界 |
#
IntersectionRectResult相交区域的边界
参数 | 类型 | 说明 |
---|---|---|
bottom | number | 下边界 |
height | number | 高度 |
left | number | 左边界 |
right | number | 右边界 |
top | number | 上边界 |
width | number | 宽度 |
#
BoundingClientRectResult目标边界
参数 | 类型 | 说明 |
---|---|---|
bottom | number | 下边界 |
height | number | 高度 |
left | number | 左边界 |
right | number | 右边界 |
top | number | 上边界 |
width | number | 宽度 |
#
RelativeToMargins用来扩展(或收缩)参照节点布局区域的边界
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
bottom | number | 否 | 节点布局区域的下边界 |
left | number | 否 | 节点布局区域的左边界 |
right | number | 否 | 节点布局区域的右边界 |
top | number | 否 | 节点布局区域的上边界 |
#
RelativeToViewportMargins用来扩展(或收缩)参照节点布局区域的边界
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
bottom | number | 否 | 节点布局区域的下边界 |
left | number | 否 | 节点布局区域的左边界 |
right | number | 否 | 节点布局区域的右边界 |
top | number | 否 | 节点布局区域的上边界 |