微信小程序实现一键回到顶部

导读:本篇文章讲解 微信小程序实现一键回到顶部,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言

在之前的文章中我们在 vue 中实现了一键回到顶部的操作,今天带大家在微信小程序中实现这个小功能。


实现思路

其实微信小程序跟 vue 实现的原理都大差不差,不同的是微信小程序有自己的方法,通过调用 wx.pageScrollTo(Object object) 方法即可实现该操作。


wx.pageScrollTo(Object object)

该方法可实现将页面滚动到目标位置,支持选择器和滚动距离两种方式定位。

属性 描述
scrollTop 滚动到页面的目标位置,单位 px
duration 滚动动画的时长,单位 ms
selector 选择器
offsetTop 偏移距离,需要和 selector 参数搭配使用,可以滚动到 selector 加偏移距离的位置,单位 px
success 接口调用成功的回调函数
fail 接口调用失败的回调函数

如果你想要更深入的了解该方法,可查看 官方文档说明


话不多说,下面进入实操。


wxml 代码

catchtap是阻止冒泡事件

<view>
  <!-- 占位容器 -->
  <view wx:for="{{100}}">内容...</view>
  <!-- 回到顶部 -->
  <scroll-view scroll-y scroll-top='{{topNum}}' bindscroll="scrolltoupper">
    <view class="gotopBox" hidden='{{!cangotop}}' catchtap="goTopOn">⬆️</view>
  </scroll-view>
</view>

js 代码

const app = getApp()
Page({
    data: {
        data: {
            topNum: 0, //默认为0
            cangotop: false, //回到顶部控件默认隐藏
        }
    },

    // 获取滑动位置
    onPageScroll: function (e) {
        console.log("打印当前页面滚动的距离:", e.scrollTop)
        //当页面滑动距离大于一屏的高度时显示回到顶部控件
        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: '当前微信版本过低,暂无法使用该功能,请升级后重试。'
            })
        }
    }
})

css 样式

.gotopBox {
    position: fixed;
    right: 40rpx;
    bottom: 60rpx;
    font-size: 54rpx;
}

实现效果展示

在这里插入图片描述


拓展

有关于 vue 中如何实现一键回到顶部,大家可移步博主另一篇文章(vue实现一键回到顶部

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79469.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!