最近在研究微信小程序,被这个返回顶层给坑了一波,下面贴代码
wxml代码:
<scroll-view scroll-y style=height: 1000rpx; scroll-top=50 enable-back-to-top=true scroll-top={{scrollTop.scroll_top}} bindscroll=scrollTopFun> <block wx:for={{sortArr}}> <template is=spL data={{item}}></template> </block> </scroll-view> <!-- 联系客服 --> <view class=findOur fliexBox><contact-button type=default-light size=15 session-from=weapp></contact-button>客服</view> <!-- 拨打电话 --> <view class=callOur fliexBox bindtap=call>电话</view> <view class=fliexBox style= bottom: 150rpx; border: solid 1px green; wx:if={{scrollTop.goTop_show}} catchtap=goTopFun>顶层</view>
js代码:
var app = getApp(); Page({ data: { hidden: true, list: [], scrollTop: { scroll_top: 0, goTop_show: false }, scrollHeight: 0, floorstatus:true, sortArr:[ { id: 1, img: ../../images/2.jpg, title: 君御豪园住宅, introduction: 杭州不限购不限贷口住宅, money: 5000, vperson: 115, tperson: 0 } ], }, scrollTopFun: function (e) { console.log(e.detail); if (e.detail.scrollTop > 300) {//触发gotop的显示条件 this.setData({ 'scrollTop.goTop_show': true }); } else { this.setData({ 'scrollTop.goTop_show': false }); } }, goTopFun: function (e) { var _top = this.data.scrollTop.scroll_top;//发现设置scroll-top值不能和上一次的值一样,否则无效,所以这里加了个判断 if (_top == 0) { _top = 1; } else { _top = 0; } this.setData({ 'scrollTop.scroll_top': _top }); }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; wx.getSystemInfo({ success: function (res) { that.setData({ scrollHeight: res.windowHeight }); } }); }, })
wxss代码:
.fliexBox{ width: 100rpx; height: 50rpx; background-color: #5db13b; color: #ffffff; text-align: center; position: fixed; right: 0rpx; bottom: 85rpx; border-radius: 20rpx 0rpx 0rpx 20rpx; font-size: 26rpx; line-height: 50rpx; opacity: .6; } .callOur{ bottom: 20rpx; } contact-button{ opacity: 0; position: absolute; }
主要是需要把scroll-view 组件的高度设置起来而且不能是百分比 如100%这样,可以是rpx,这样才可以监测到滑动的距离。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。