开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
开发 > 框架 > 自定义组件 > 视口交叉观察器
收藏
订阅更新
我的文档
设置
component.createviewportintersectionobserver(function callback, object options)
基础库 2.9.91 或更高版本;若版本较低,建议采取 兼容处理
主体: 企业支付宝小程序 、 个人支付宝小程序
简介
在曝光检测场景中,与视口的交叉观察是最常见的。就此特定场景,在页面或自定义组件中使用视口交叉观察器可以获得比 my.createintersectionobserver 更好的性能与体验。写法对比如下:
javascript
复制代码
component({
didmount() {
const observecallback = (entry) => {
entry.intersectionratio;
};

if (my.caniuse('component.createviewportintersectionobserver')) {
const observer = this.createviewportintersectionobserver((entries) => {
// 多个节点会一起结算观察结果
for (const entry of entries) {
observecallback(entry);
}
}, {
initialratio: 0,
thresholds: [0]
});
observer.observe('.foo');
} else {
const observer = my.createintersectionobserver({
initialratio: 0,
thresholds: [0],
// createviewportintersectionobserver
// 不接受 my.createintersectionobserver 下面的两个参数,
// 但功能上等同于这两个参数开启
selectall: true,
dataset: true
}).in(this).relativetoviewport();
observer.observe('.foo', (entry) => {
// 单个节点分别结算观察结果
observecallback(entry);
});
}
}
});
入参
function callback
监听相交状态变化的回调函数,与 insersectionobserver.observe 的 callback 参数 相同。
object options
my.createinsersectionobserver 的 options 参数 相同,但仅接受 intialratio 和 thresholds。
返回值
viewportintersectionobserver
返回对象具有如下属性:
名称
类型
功能说明
viewportintersectionobserver.disconnect
function
停止监听目标节点与参照区域相交状态变化。回调函数将不再触发。
viewportintersectionobserver.observe
function
指定目标节点并开始监听相交状态变化情况。
viewportintersectionobserver.observe(string targetselector)
指定目标节点并开始监听相交状态变化情况。入参 targetselector 仅支持 sjs 选择器语法,且为多选。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图