NodesRef.scrollOffset

2020-08-22 11:19 更新

解釋: 添加節(jié)點的滾動位置查詢請求,以像素為單位。節(jié)點必須是 scroll-view 或者 viewport 。返回值是 nodesRef 對應的 selectorQuery 。

方法參數

Function callback

callback 返回參數說明

返回的節(jié)點信息中,每個節(jié)點的滾動位置用 scrollLeft 、 scrollTop 字段描述。如果提供了 callback 回調函數,在執(zhí)行 selectQuery 的 exec 方法后,節(jié)點信息會在 callback 中返回。

參數 類型 說明

scrollLeft

Number

節(jié)點水平滾動位置

scrollTop

Number

節(jié)點豎直滾動位置

示例 

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


圖片示例



代碼示例

<view class="wrap">
    <view class="message">
        <text s-if="appear">小球出現(xiàn)</text>
        <text s-else>小球消失</text>
    </view>
    <scroll-view class="scroll-view" scroll-y>
        <view class="scroll-area" style="{{appear ? 'background: #ccc' : ''}}">
            <text class="notice">向下滾動讓小球出現(xiàn)</text>
            <view class="filling"></view>
            <view class="ball"></view>
        </view>
    </scroll-view>
    <button bindtap="getNodeRef">點擊獲取scrollview組件的nodeRef信息</button>
</view>
Page({
    data: {
        appear: false
    },
    onReady() {
        this.intersectionObserver = swan.createIntersectionObserver();
        this.intersectionObserver
            .relativeTo('.scroll-view')
            .observe('.ball', res => {
                console.log('observe', res);
                this.setData('appear', res.intersectionRatio > 0);
            });
    },
    getNodeRef() {
        swan.createSelectorQuery()
            .select('.scroll-view')
            .scrollOffset(res => {
                console.log('scrollOffset:', res);
                swan.showModal({
                    title: 'scrollOffset',
                    content: JSON.stringify(res)
                });
            }).exec();
    }
});
.scroll-view {
    height: 400rpx;
    background: #fff;
}

.scroll-area {
    display: flex;
    flex-direction: column;
    height: 1300rpx;
    transition: .5s;
    width: 1200rpx;
    align-items: center;
}

.notice {
    margin-top: 150rpx;
}

.ball {
    width: 200rpx;
    height: 200rpx;
    border-radius: 50%;
    background: #38f;
}

.filling {
    height: 400rpx;
}

.message {
    display: flex;
    width: 100%;
    margin: 50rpx 0;

    justify-content: center;
}

.message text {
    font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif;
    font-size: 40rpx;
}


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號