W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
解釋: 添加節(jié)點的滾動位置查詢請求,以像素為單位。節(jié)點必須是 scroll-view 或者 viewport 。返回值是 nodesRef 對應的 selectorQuery 。
Function callback
返回的節(jié)點信息中,每個節(jié)點的滾動位置用 scrollLeft 、 scrollTop 字段描述。如果提供了 callback 回調函數,在執(zhí)行 selectQuery 的 exec 方法后,節(jié)點信息會在 callback 中返回。
參數 | 類型 | 說明 |
---|---|---|
scrollLeft |
Number |
節(jié)點水平滾動位置 |
scrollTop |
Number |
節(jié)點豎直滾動位置 |
<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;
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: