Skip to content

LimeBackTop 回到顶部组件

一个功能丰富的回到顶部组件,用于当页面过长往下滑动时,帮助用户快速回到页面顶部。支持自定义图标、文本、形状、位置等多种配置,可用于长列表、长文章、商品详情等多种场景。组件提供了丰富的自定义选项,可以满足各种复杂的交互设计需求。

插件依赖:lime-sharedlime-stylelime-icon

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场入口 中搜索并导入lime-back-top
  2. 导入后可能需要重新编译项目
  3. 在页面中使用l-back-top组件

注意🔔

本插件依赖的【lime-svg】是原生插件,如果购买(收费为6元)则需要自定义基座,才能使用, 若不需要删除即可

代码演示

基础用法

最简单的回到顶部组件用法,点击后自动滚动到页面顶部。

html
<l-back-top />

带文本的回到顶部

添加文本提示,使用户更清楚按钮的功能。

html
<l-back-top text="顶部" />

自定义图标

通过icon属性设置自定义图标。

html
<l-back-top icon="arrow-up" />

不同形状

通过shape属性设置不同的形状,支持圆形和方形。

html
<l-back-top shape="circle" />
<l-back-top shape="square" />

自定义显示距离

通过offset属性设置页面滚动多少距离后显示回到顶部按钮。

html
<l-back-top :offset="300" />

自定义位置

通过bottomright属性设置按钮在屏幕中的位置。

html
<l-back-top :bottom="100" :right="30" />

在小程序中使用

由于uniappx对所有的元素都是默认是相对定位position: relative;,必须保证插件是在页面的根节点,或者监听页面的滚动事件把scrollTop传给插件。

html
<!-- 方式1:根节点 必须为页面 -->
<l-back-top text="顶部" />

<!-- 方式2:监听页面的滚动事件 把scrollTop传给插件 -->
<l-back-top text="顶部" :scrollTop="scrollTop"/>
js
// 监听页面滚动
onPageScroll(e) {
  this.scrollTop = e.scrollTop;
}

快速预览

导入插件后,可以直接使用以下标签查看演示效果:

html
<!-- 代码位于 uni_modules/lime-back-top/components/lime-back-top -->
<lime-back-top />

插件标签说明

标签名说明
l-back-top组件标签
lime-back-top演示标签

Vue2使用说明

main.js中添加以下代码:

js
// vue2项目中使用
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

详细配置请参考官方文档:Vue Composition API

API文档

Props 属性说明

属性名说明类型默认值
fixed是否固定在屏幕右下方booleantrue
icon图标名称,值为 false 表示不显示图标string | boolean'backtop'
iconSize图标大小string-
text按钮文本string-
bottom距离页面底部的距离number | string-
right距离页面右侧的距离number | string-
duration回到顶部所需时间(ms),nvue无效number100
scrollTop页面滚动距离,在不支持嵌套的组件里使用时需要传入number0
offset页面滚动多高后显示组件,nvue无效number200
targetnvue需要定位滚动到指定对象,uvue需要指定容器的IDstring-
shape按钮形状,可选值:circlesquarestring'circle'
lStyle自定义样式string-

Events 事件

事件名说明回调参数
click点击按钮时触发-

主题定制

组件提供了以下CSS变量,可用于自定义样式:

变量名称默认值描述
--l-back-top-font-size$font-size-sm文字大小
--l-back-top-icon-size$font-size-lg图标大小
--l-back-top-text-color$text-color-2文字颜色
--l-back-top-bg-color$bg-color-elevated背景颜色
--l-back-top-border-color$border-color-1边框颜色
--l-back-top-size50px按钮大小
--l-back-top-border-width0.5px边框宽度
--l-back-top-border-radius-circle$border-radius-hg圆形按钮边框圆角
--l-back-top-border-radius-square$border-radius-sm方形按钮边框圆角
--l-back-top-padding-x$spacer-sm水平内边距
--l-back-top-padding-y$spacer-sm垂直内边距
--l-back-top-position-right$spacer右侧定位距离
--l-back-top-position-bottom$spacer-xl底部定位距离
--l-back-top-z-index1000层级

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助微信赞助

源代码

组件源码