设置限定条件当小于菜单栏当前高度时,菜单栏正常显示,当大于等于这个高度,添加class:fixed改变菜单栏的position:fixed,再调整商品的位置即可 <view class="ccc {{menuFixed ? 'fixed': ''}}" id="affix">需要贴顶吸附菜单栏</view> .fixed { position:fixed; top:0; left:0; } onPageScroll: function(ev) { var that = this; var a = ev.scrollTop; //存储滚动高度 if ( a < 400) { that.setData({ menuFixed: false, }) } if (a >= 400) { that.setData({ menuFixed: true, }) } //给scrollTop重新赋值 setTimeout(function() { that.setData({ scrollTop: ev.scrollTop }) }, 0) },
你外面没有嵌套竖向的<scroll-view>吧,那就用wx.createSelectorQuery,可以获取到导航部分距顶部的距离,当距离小于0的时候显示固定在顶部的导航,大于0隐藏,放在onPageScroll中
设置限定条件当小于菜单栏当前高度时,菜单栏正常显示,当大于等于这个高度,添加class:fixed改变菜单栏的position:fixed,再调整商品的位置即可