小程序中的吸顶效果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/039f33b9c98fafc28b4967a0e06895a7.png)
- wxml
<view hidden="{{showTabControl}}" class="top">
<van-tabs active="a">
<van-tab title="标签 1" name="a"></van-tab>
<van-tab title="标签 2" name="b"></van-tab>
<van-tab title="标签 3" name="c"></van-tab>
</van-tabs>
</view>
<scroll-view
scroll-y
lower-threshold="100"
id="scroller"
bindscrolltolower="scrollToLower"
bindscroll="scrollPosition"
scroll-with-animation="true"
scroll-top="{{topPosition}}"
style="height:100vh">
<view style='height:200px;border:1px solid black;background:red'></view>
<van-tabs active="a" class='xiding'>
<van-tab title="标签 1" name="a"></van-tab>
<van-tab title="标签 2" name="b">内容 2</van-tab>
<van-tab title="标签 3" name="c">内容 3</van-tab>
</van-tabs>
<view wx:for="{{listData}}" wx:key="{{index}}" style="height: 100px;border-bottom: 1px solid #f4f4f4;">
<van-card
num="2"
price="{{item.price}}"
title="{{item.title}}"
thumb="{{ item.show.img }}"
bindtap='go'
data-id='{{item.iid}}'
/>
</view>
<view style="text-align: center;margin: 10px;">
<view wx:if="{{loading}}">加载中...</view>
<view wx:if="{{noMore}}">没有更多了</view>
<view wx:if="{{loadingFailed}}">数据加载失败,请重试</view>
</view>
</scroll-view>
- wxss
.top{
display: fixed;
left: 0;
top:0;
}
- js
Page({
data: {
showTabControl: true
},
scrollPosition(e) {
wx.createSelectorQuery().select('.xiding').boundingClientRect((rect) => {
const show = rect.top > 0
this.setData({
showTabControl: show
})
}).exec()
},
})
小程序操作DOM
<scroll-view scroll-y='true' style="height:100vh;" bindscroll="bindscroll" scroll-into-view="{{toview}}">
<view class="rol">
<text class="title" id="normalServe">常用应用</text>
<text class="title" id="normalServe1">常用应用2</text>
<text class="title" id="normalServe2">常用应用3</text>
</view>
</scroll-view>
<view class="dadasfa" wx:if="{{showNav}}"> dsadasfaf
</view>
Page({
queryMultipleNodes: function() {
const query = wx.createSelectorQuery()
query.select('#productServe').boundingClientRect()
query.select('#enterpriseServe').boundingClientRect()
query.select('#normalServe').boundingClientRect()
query.selectViewport().scrollOffset()
query.exec((res) => {
res[0].top
res[1].width
res[2].height
})
}
})
console.log(res) 输出节点信息详情