Page({
onLoad: function () {
// 目标节点(用选择器 .target-class 指定)每次进入或离开页面显示区域时,触发回调函数
//自定义组件用this.createIntersectionObserver代替,将选择器选取范围限定在自定义组件内。
wx.createIntersectionObserver().relativeToViewport().observe(‘.target-class’, (res) => {
res.id // 目标节点 id
res.dataset // 目标节点 dataset
res.intersectionRatio // 相交区域占目标节点的布局区域的比例
res.intersectionRect // 相交区域
res.intersectionRect.left // 相交区域的左边界坐标
res.intersectionRect.top // 相交区域的上边界坐标
res.intersectionRect.width // 相交区域的宽度
res.intersectionRect.height // 相交区域的高度
})
}
})
Page({
//以下示例代码可以在目标节点(用选择器 .target-class 指定)与参照节点(用选择器 .relative-class 指定)
//在页面显示区域内相交或相离,且相交或相离程度达到目标节点布局区域的20%和50%时,触发回调函数。
onLoad: function () {
//自定义组件用this.createIntersectionObserver代替,将选择器选取范围限定在自定义组件内。
wx.createIntersectionObserver(this, {
thresholds: [0.2, 0.5]
}).relativeTo(‘.relative-class’).relativeToViewport().observe(‘.target-class’, (res) => {
res.intersectionRatio // 相交区域占目标节点的布局区域的比例
res.intersectionRect // 相交区域
res.intersectionRect.left // 相交区域的左边界坐标
res.intersectionRect.top // 相交区域的上边界坐标
res.intersectionRect.width // 相交区域的宽度
res.intersectionRect.height // 相交区域的高度
})
}
})