IntersectionObserver.observe

2020-08-22 10:40 更新

解釋:指定目標(biāo)節(jié)點(diǎn)并開始監(jiān)聽相交狀態(tài)變化情況。

方法參數(shù)

String targetSelector, Function callback

targetSelector  參數(shù)說(shuō)明:選擇器。
callback  參數(shù)說(shuō)明:監(jiān)聽相交狀態(tài)變化的回調(diào)函數(shù)。
callback  返回參數(shù)說(shuō)明

屬性類型說(shuō)明

intersectionRatio

Number

相交比例

intersectionRect

Object

相交區(qū)域的邊界

boundingClientRect

Object

目標(biāo)邊界

relativeRect

Object

參照區(qū)域的邊界

time

Number

相交檢測(cè)時(shí)的時(shí)間戳

intersectionRect 參數(shù)說(shuō)明

屬性類型說(shuō)明

left

Number

左邊界

right

Number

右邊界

top

Number

上邊界

bottom

Number

下邊界

width

Number

相交區(qū)域的寬度

height

Number

相交區(qū)域的高度

boundingClientRect 參數(shù)說(shuō)明

屬性類型說(shuō)明

left

Number

左邊界

right

Number

右邊界

top

Number

上邊界

bottom

Number

下邊界

width

Number

目標(biāo)寬度

height

Number

目標(biāo)高度

relativeRect 參數(shù)說(shuō)明

屬性類型說(shuō)明

left

Number

左邊界

right

Number

右邊界

top

Number

上邊界

bottom

Number

下邊界

示例 

在開發(fā)者工具中打開


圖片示例



代碼示例

<view class="wrap">
    <scroll-view class="scroll-view" scroll-y>
        <view class="scroll-area" style="{{appear ? 'background: #ccc' : ''}}">
            <text class="notice">向下滾動(dòng)讓小球出現(xiàn)</text>
            <!-- 占位元素 -->
            <view class="filling"></view> 
            <!-- 小球 -->
            <view class="ball"></view>
        </view>
    </scroll-view>
    <view class="list-area border-bottom">
        <view class="list-item-key-4">top:</view>
        <view class="list-item-value">{{intersectionRect.top}}</view>
    </view>
    <view class="list-area border-bottom">
        <view class="list-item-key-4">right:</view>
        <view class="list-item-value">{{intersectionRect.right}}</view>
    </view>
    <view class="list-area border-bottom">
        <view class="list-item-key-4">bottom:</view>
        <view class="list-item-value">{{intersectionRect.bottom}}</view>
    </view>
    <view class="list-area border-bottom">
        <view class="list-item-key-4">left:</view>
        <view class="list-item-value">{{intersectionRect.left}}</view>
    </view>
    <view class="list-area border-bottom">
        <view class="list-item-key-4">width</view>
        <view class="list-item-value">{{intersectionRect.width}}</view>
    </view>
    <view class="list-area border-bottom">
        <view class="list-item-key-4">height</view>
        <view class="list-item-value">{{intersectionRect.height}}</view>
    </view>
</view>
Page({
    data: {
        intersectionRect: ''
    },
    onReady() {
        swan.createIntersectionObserver(this)
            .relativeTo('.scroll-view')
            .observe('.ball', res => {
                this.setData('intersectionRect', res.intersectionRect);
                console.log(res.intersectionRect.left); // 相交區(qū)域的左邊界坐標(biāo)
                console.log(res.intersectionRect.right); // 相交區(qū)域的右邊界坐標(biāo)
                console.log(res.intersectionRect.top); // 相交區(qū)域的上邊界坐標(biāo)
                console.log(res.intersectionRect.bottom); // 相交區(qū)域的下邊界坐標(biāo)
                console.log(res.intersectionRect.width); // 相交區(qū)域的寬度
                console.log(res.intersectionRect.height); // 相交區(qū)域的高度
            });
    }
});


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)