程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入手

  • 基础组件

  • 表单组件

  • 数据展示组件

  • 反馈组件

  • 导航组件

  • 其他组件

    • 对话框组件 (Dialog)
    • 文字提示组件 (Tooltip)
    • 弹出框组件 (Popover)
    • 气泡确认框组件 (Popconfirm)
    • 卡片组件 (Card)
    • 走马灯组件 (Carousel)
    • 折叠面板组件 (Collapse)
    • 时间线组件 (Timeline)
    • 分割线组件 (Divider)
    • 日历组件 (Calendar)
    • 图片组件 (Image)
    • 回到顶部组件 (Backtop)
      • 1. 基本用法
        • Backtop 属性
        • Backtop 事件
      • 2. Backtop 常用示例
        • 自定义按钮显示位置
        • 设置滚动目标
        • 自定义滚动高度触发
        • 监听点击事件
      • 3. 总结
    • 无限滚动 (InfiniteScroll)
    • 无限滚动 (vue-infinite-loading)
    • 抽屉组件 (Drawer)
  • Element-UI
  • 其他组件
scholar
2024-08-12
目录

回到顶部组件 (Backtop)

# 回到顶部组件 (Backtop)

Element-UI 的 Backtop 组件是一个用于返回页面顶部的操作按钮,通常用于长页面,当页面滚动到一定高度时会显示这个按钮,点击后页面会自动滚动回顶部。

提示

Backtop 回到顶部组件官方文档:https://element.eleme.cn/#/zh-CN/component/backtop (opens new window)

# 1. 基本用法

基本语法:使用 <el-backtop> 标签来插入一个回到顶部的按钮,当页面滚动到指定高度时,该按钮会自动出现,点击按钮后页面会平滑滚动回到顶部。

<template>
  <div class="backtop-demo">
    <!-- 模拟长页面内容 -->
    <div style="height: 1000px;">内容区域</div>

    <!-- Backtop 组件 -->
    <el-backtop :visibility-height="200" :right="50" :bottom="50"></el-backtop>
  </div>
</template>
1
2
3
4
5
6
7
8
9
  • 回到顶部按钮显示:当页面滚动超过 visibility-height 设置的高度时,回到顶部的按钮会显示,点击按钮页面会回到顶部。
  • 按钮位置:可以通过 right 和 bottom 属性设置按钮在页面中的具体位置。

# Backtop 属性

参数 说明 类型 可选值 默认值
target 触发滚动的对象 string — —
visibility-height 滚动高度达到此参数值时才显示按钮 number — 200
right 控制按钮显示位置,距离页面右边距的距离 number — 40
bottom 控制按钮显示位置,距离页面底部的距离 number — 40

# Backtop 事件

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

# 2. Backtop 常用示例

# 自定义按钮显示位置

可以通过 right 和 bottom 属性自定义回到顶部按钮在页面中的位置,例如将按钮设置为距离页面右边 50px,底部 50px。

<template>
  <div class="backtop-demo">
    <div style="height: 1000px;">内容区域</div>
    <el-backtop :right="50" :bottom="50"></el-backtop>
  </div>
</template>
1
2
3
4
5
6
  • 自定义位置:right 和 bottom 属性分别控制按钮距离页面右边距和底部的距离,默认值分别为 40px。

# 设置滚动目标

通过 target 属性可以指定触发滚动的容器,当指定了目标容器时,Backtop 会监听该容器的滚动事件,而不是整个页面的滚动。

<template>
  <div ref="scrollContainer" class="scroll-container">
    <div style="height: 1000px;">内容区域</div>
    <el-backtop target=".scroll-container" :visibility-height="300"></el-backtop>
  </div>
</template>

<style>
.scroll-container {
  height: 500px;
  overflow-y: auto;
  position: relative;
  border: 1px solid #ccc;
}
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  • 滚动目标:通过 target 属性指定触发滚动的容器,容器可以是类选择器或 DOM 元素。

# 自定义滚动高度触发

可以通过 visibility-height 属性设置滚动到多高时显示回到顶部按钮。默认值为 200px,可以根据需求调整。

<template>
  <div class="backtop-demo">
    <div style="height: 1500px;">内容区域</div>
    <el-backtop :visibility-height="500"></el-backtop>
  </div>
</template>
1
2
3
4
5
6
  • 滚动高度触发:visibility-height 属性控制按钮显示的阈值,页面滚动高度达到该值时按钮才会显示。

# 监听点击事件

通过监听 click 事件,可以在点击回到顶部按钮时执行自定义操作,如记录日志或执行其他逻辑。

<template>
  <div class="backtop-demo">
    <div style="height: 1500px;">内容区域</div>
    <el-backtop @click="handleBacktopClick"></el-backtop>
  </div>
</template>

<script>
export default {
  methods: {
    handleBacktopClick() {
      console.log('回到顶部按钮被点击');
    }
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  • 点击事件:通过 click 事件,可以在用户点击回到顶部按钮时触发自定义操作。

# 3. 总结

  • 按钮显示控制:Backtop 组件提供了对按钮显示位置和显示条件的控制,可以通过 right、bottom、visibility-height 等属性灵活设置。
  • 滚动容器:可以指定滚动的目标容器,通过 target 属性监听特定容器的滚动事件,适应复杂布局需求。
  • 事件处理:通过监听 click 事件,可以在用户点击回到顶部按钮时执行自定义操作,增加交互性。

Backtop 组件在长页面或复杂页面布局中非常实用,可以提高用户的导航体验,同时通过灵活的配置适应各种设计需求。

编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
图片组件 (Image)
无限滚动 (InfiniteScroll)

← 图片组件 (Image) 无限滚动 (InfiniteScroll)→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式