<view class="tab">
<mp-tabbar class="column {{isFixedTop?'fixed':''}}" list="{{list}}" bindchange="tabChange">
</mp-tabbar>
<view class="column" wx:if="{{isFixedTop}}"></view>
</view>
.tab .column {
width: 100%;
z-index: 100;
}
.fixed {
position: fixed;
}
Page({
data: {
isFixedTop: false,
navbarInitTop: 0,
}
onShow: function () {
var that = this;
if (that.data.navbarInitTop == 0) {
//获取节点距离顶部的距离
wx.createSelectorQuery().select('#navbar').boundingClientRect(function (rect) {
if (rect && rect.top > 0) {
var navbarInitTop = parseInt(rect.top);
that.setData({
navbarInitTop: navbarInitTop
});
}
}).exec();
}
},
onPageScroll: function (e) {
var that = this;
var scrollTop = parseInt(e.scrollTop);
var isSatisfy = scrollTop >= that.data.navbarInitTop ? true : false;
if (that.data.isFixedTop === isSatisfy) {
return false;
}
that.setData({
isFixedTop: isSatisfy
});
}
}