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

Element UI【详解】el-scrollbar 滚动条组件

el-scrollbar 滚动条组件用于优化页内滚动条的UI效果,使用时必须指定高度!

/*el-scrollbar 必须指定高度*/
.scrollMenuBox {height: 200px;width: 100px;border: 1px solid red;
}

控制el-scrollbar内滚动条的方法与控制页面的滚动条的方法基本一样,只是获取el-scrollbar节点的滚动条时,需使用  this.$refs.scrollMenuRef.wrap

<el-scrollbar ref="scrollMenuRef" class="scrollMenuBox"><p v-for="i in titleTotal" :key="i">标题{{i}}</p>
</el-scrollbar>

获取 el-scrollbar 内滚动条向下滚动的距离

this.$refs.scrollMenuRef.wrap.scrollTop

控制 el-scrollbar 内滚动条滚动到指定位置

比如,向下滚动 100px

this.$refs.scrollMenuRef.wrap.scrollTop

el-scrollbar 内内容的高度

this.$refs.scrollMenuRef.wrap.scrollHeight

监听 el-scrollbar 内滚动条的滚动

this.$refs.scrollMenuRef.wrap.addEventListener("scroll", this.scrollMenu);

隐藏水平滚动条

使用 scoped 时,需用 /deep/ 实现样式穿透

/deep/ .el-scrollbar__wrap {overflow-x: hidden;
}

el-scrollbar 内滚动条跟随页面一起滚动

mounted() {// 监听浏览器/页面滚动条的滚动window.addEventListener("scroll", this.scrollContent);
},
// 页面滚动时触发
scrollContent() {// scrollTop为显示屏顶部与整个文档顶部间的距离let scrollTop = document.documentElement.scrollTop || document.body.scrollTop;// 页面滚动条滚动时,el-scrollbar内滚动条按比例跟随一起滚动this.$refs.scrollMenuRef.wrap.scrollTop = scrollTop / document.body.scrollHeight * this.$refs.scrollMenuRef.wrap.scrollHeight
},

完整范例代码

<template><div style="padding: 20px"><div class="menuBox"><button @click="scrollTo(25)">目录滚动到标题25</button><br><button @click="getScrollTop">获取目录内滚动条向下滚动的距离</button><hr><p>目录</p><el-scrollbar ref="scrollMenuRef" class="scrollMenuBox"><p v-for="i in titleTotal" :key="i">标题{{i}}</p></el-scrollbar></div><div class="contentBox"><p v-for="i in rowTotal" :key="i">第{{i}}行</p></div></div>
</template>
<script>export default {data() {return {// 总行数titleTotal: 50,// 总行数rowTotal: 200}},mounted() {// 监听浏览器/页面滚动条的滚动window.addEventListener("scroll", this.scrollContent);// 监听el-scrollbar内滚动条的滚动this.$refs.scrollMenuRef.wrap.addEventListener("scroll", this.scrollMenu);},methods: {// el-scrollbar内滚动条滚动时,打印滚动条向下滚动的距离scrollMenu() {console.log(this.$refs.scrollMenuRef.wrap.scrollTop)},
// 页面滚动时触发scrollContent() {// scrollTop为显示屏顶部与整个文档顶部间的距离let scrollTop = document.documentElement.scrollTop || document.body.scrollTop;// 页面滚动条滚动时,el-scrollbar内滚动条按比例跟随一起滚动this.$refs.scrollMenuRef.wrap.scrollTop = scrollTop / document.body.scrollHeight * this.$refs.scrollMenuRef.wrap.scrollHeight},// el-scrollbar内滚动条滚动到指定的标题号scrollTo(titleNo) {this.$refs.scrollMenuRef.wrap.scrollTop = (titleNo - 1) / this.titleTotal * this.$refs.scrollMenuRef.wrap.scrollHeight},// 获取el-scrollbar内滚动条向下滚动的距离getScrollTop() {alert(this.$refs.scrollMenuRef.wrap.scrollTop)}},}
</script>
<style scoped>/*目录悬浮*/.menuBox {position: fixed;}/*内容居中*/.contentBox {width: 60%;margin: auto;}/*el-scrollbar 必须指定高度*/.scrollMenuBox {height: 200px;width: 100px;border: 1px solid red;}/*隐藏水平滚动条*//deep/ .el-scrollbar__wrap {overflow-x: hidden;}
</style>
http://www.lryc.cn/news/427757.html

相关文章:

  • 【精选】基于Python大型购物商城系统(京东购物商城,淘宝购物商城,拼多多购物商城爬虫系统)
  • QT翻金币小游戏(含音频图片文件资源)
  • Linux配置JDK8环境变量
  • Fiddle抓手机app的包
  • Oracle+ASM+High冗余详解及空间计算
  • 如何为 Nextcloud 配置自动数据库备份 - 应用程序
  • child_process.spawn简介
  • 整理给测试人看的千页面试题
  • Linux 内核中的并发与竞争
  • Ubuntu修改命令提示符格式PS1
  • 指针详解(五)
  • 智慧安防/一网统管/视频监控EasyCVR视频汇聚平台的视频轻量化特点及应用
  • nginx代理转发如何配置
  • JavaScript学习笔记(十三):网络请求JS AJAX
  • go for 循环变量的使用及易错点
  • 2024嵌入式面试:OPPO嵌入式面试题及参考答案
  • Cesium模型制作,解决Cesium加载glb/GLTF显示太黑不在中心等问题
  • Java 操作 Redis和redis持久化
  • Expo创建的React Native项目如何在Windows上进行打包
  • 探索Go语言中的结构体:定义和使用
  • Unity Dots学习 (一)
  • C语言刷题日记(附详解)(1)
  • SpringSecurity实现登录功能实战!!!
  • mysql中用一个查询获取多个数据库(模式)和表的计数之和
  • linux patch 的制作方式
  • 白骑士的C#教学进阶篇 2.4 LINQ查询
  • 2024华为OD机试真题- 贪吃的猴子Python-C卷D卷-200分
  • 4-1-2 直流电机(电机专项教程)
  • [图解]用例规约之扩展路径
  • 学习记录第二十八天