赞
踩
一.在view下面使用直接使用,没有在scroll-view下面使用
wxml页面,catchtap阻止冒泡事件。
- <view class="back-top" catchtap="goTopOn" hidden='{{!cangotop}}'>
- <van-icon name="back-top" size="60rpx"/>
- </view>
wxss界面
- .back-top{
- position: fixed;
- right: 40rpx;
- bottom: 90rpx;
- height: 90rpx;
- width: 90rpx;
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- background-color: #ffffff;
- box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, 0.3) ;
- }
js界面
- // 获取滑动位置
- onPageScroll: function (e) {
- //当页面滑动距离大于一屏的高度时显示回到顶部控件
- this.setData({
- cangotop: e.scrollTop > wx.getSystemInfoSync().windowHeight ? true : false
- });
- },
- //回到顶部,内部调用系统API
- goTopOn: function (e) {
- if (wx.pageScrollTo) {
- wx.pageScrollTo({
- scrollTop: 0
- })
- } else {
- wx.showModal({
- title: '提示',
- content: '当前微信版本过低,暂无法使用该功能,请升级后重试。'
- })
- }
- }
二.在scroll-view下面使用
wxml页面 scroll-with-animation:使用滚动动画过渡
- <scroll-view class="cate" scroll-y="true" bindscroll="srollViewTop" scroll-into-view="{{top}}" scroll-with-animation="true">
- <view class="back-top" catchtap="goTopOn" hidden='{{!cangotop}}'>
- <van-icon name="back-top" size="60rpx"/>
- </view>
- </scroll-view>
wxss界面
- .back-top{
- position: fixed;
- right: 40rpx;
- bottom: 120rpx;
- height: 90rpx;
- width: 90rpx;
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- background-color: #ffffff;
- box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, 0.3) ;
- }
js界面:
- data:{
- topNum: 0
- }
- srollViewTop(e){
- this.setData({
- cangotop: e.detail.scrollTop > wx.getSystemInfoSync().windowHeight-180 ? true : false
- });
- },
- // 回到顶部
- goTopOn: function () {
- this.setData({
- topNum:0
- })
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。