当前位置: 首页 > news >正文

点击按钮滚动到底功能vue的v-on:scroll运用

使用vue自带的监听滚动功能v-on:scroll,滚动条变化时,会调用方法 checkScrollStatus,如果滚动条在容器底部时,则隐藏按钮,否则显示按钮,点击按钮能一键滚动到底部。

<div class="chat-area" ref="chatAreaRef" v-on:scroll="checkScrollStatus">...具体渲染的内容
</div><-- 按钮 -->
<div @click="scrollBottom" class="scroll-btn" v-show="showScrollBtn"><i class="iconfont icon-a-zhedieiconbeifen5" />
</div>// 样式 这里因为内容区域是对话框,所以反转了dom.chat-area {height: 0;flex: 1;overflow-y: auto;display: flex;flex-direction: column-reverse;}

 这里因为内容区域是对话框,所以反转了dom,所以下面的方法里的container.scrollTop在滚动到底的时候是0,正常的dom不是0

      const chatAreaRef = ref(null)// 检查滚动状态并更新按钮显示checkScrollStatus() {// 确保DOM已加载if (!chatAreaRef.value) return;const container = chatAreaRef.value;const scrollPosition = container.scrollTop;// console.log('元素内部滚动距离:', scrollPosition);// 内容高度 > 容器高度(存在滚动条)const hasScrollbar = container.scrollHeight > container.clientHeight;// 1. 内容高度 > 容器高度(存在滚动条)if (hasScrollbar) {// 底部对应 scrollPosition = 0 → 隐藏按钮// 非底部对应 scrollPosition ≠ 0 → 显示按钮if (scrollPosition !== 0) {state.showScrollBtn = true} else {state.showScrollBtn = false}} else {state.showScrollBtn = false}// console.log(state.showScrollBtn, '--showScrollBtn--')},// 滚动到底部scrollBottom() {if (!chatAreaRef.value) return;const container = chatAreaRef.value;chatAreaRef.value.scrollTo({top: 0,behavior: 'smooth'});// 滚动后更新按钮状态nextTick(() => {methods.checkScrollStatus();})},

http://www.dtcms.com/a/296257.html

相关文章:

  • 亚马逊云科技实战架构:构建可扩展、高效率、无服务器应用
  • MinIO Go 客户端使用详解:对象存储开发实战指南
  • 风波不断,“奶粉第一股”贝因美渡劫
  • nginx有几种日志
  • 【vector定义】vector f(k, vector<int>(k));
  • 第三章:掌握 Redis 存储与获取数据的核心命令
  • 阿里v1支付系列验证码逆向/百度成语点选vmp逆向
  • 基于深度学习的胸部 X 光图像肺炎分类系统(四)
  • 电脑录屏软件推荐:如何使用oCam录制游戏、教程视频
  • 视频二维码在产品设备说明书中的应用
  • Docker4-容器化企业级应用
  • C++map和set
  • leetcode101.对称二叉树树(递归练习题)
  • 基于20和28 nm FPGAs的实现多通道、低非线性时间到数字转换器
  • 安全插座项目规划书
  • 嵌入式软件--stm32 DAY 9 定时器
  • 第五章 Freertos物联网实战 微信小程序篇
  • RCW(Rear Collision Warning)后向碰撞预警功能介绍
  • 从零开始学 Pandas:数据处理核心操作指南
  • TDengine 转化类函数 TO_CHAR 用户手册
  • 高级04-Java 设计模式:常用模式详解与实战
  • 时序数据库IoTDB的核心功能特性
  • PyCharm安装教程(附加安装包)PyCharm详细安装教程PyCharm 2025 最新版安装教程
  • 基于深度学习的CT图像3D重建技术研究
  • 【Word Press进阶】自定义区块的行为与样式
  • C++扩展 --- 并发支持库(下)
  • 长糖链皂苷的生物合成研究进展-文献精读149
  • Hive的窗口函数
  • 多线程 Reactor 模式
  • 一文说清楚Hive中常用的聚合函数[collect_list]