IntersectionObserver

解释: IntersectionObserver 对象,用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见。

IntersectionObserver对象的方法列表 :

方法 说明
relativeTo 使用选择器指定一个节点,作为参照区域之一
relativeToViewport 指定页面显示区域作为参照区域之一
observe 指定目标节点并开始监听相交状态变化情况
disconnect 停止监听。回调函数将不再触发

# 示例

扫码体验
重新加载
请使用百度APP扫码

# 代码示例

    <view class="wrap">
        <view class="message">
            <text s-if="appear">小球出现</text>
            <text s-else>小球消失</text>
        </view>
        <scroll-view class="scroll-view" scroll-y>
            <view class="scroll-area" style="{{appear ? 'background: #ccc' : ''}}">
                <text class="notice">向下滚动让小球出现</text>
                <view class="filling"></view>
                <view class="ball"></view>
            </view>
        </scroll-view> 
    </view>
    
    
    Page({
        onReady() {
            this.intersectionObserver = swan.createIntersectionObserver(this);
            this.intersectionObserver
                .relativeTo('.scroll-view')
                .relativeToViewport({bottom: 100})
                .observe('.ball', res => {
                    console.log('observe', res)
                });
        },
        onUnload() {
            this.intersectionObserver && this.intersectionObserver.disconnect();
        }
    });