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

vue3实现无缝滚动 列表滚动 vue3-seamlessscroll

vue3框架内使用无缝滚动,使用一个插件比较合适(gitee地址):

vue3-seamless-scroll: Vue3.0 无缝滚动组件

具体更多配置请看:

组件配置 | vue3-scroll-seamless 

1. 安装:

npm install vue3-seamless-scroll --save

2. 使用:

我这里使用组件内引入:

//<script setup> 中组件引入
import { Vue3SeamlessScroll } from 'vue3-seamless-scroll';// template中使用组件// 注意:父级元素的大小和overflow: hidden是必须添加的
<div style="width: 500px; height: 400px; overflow: hidden;"><Vue3SeamlessScrollref="cScroll":list="list":limit-scroll-num="10"><ul><li></li></ul></Vue3SeamlessScroll>
</div>// 以上参数说明// list 就是我们需要滚动的数据,是一个数组。
// limit-scroll-num 就是数据长度大于这个数字,才能滚动

3.重置

通常情况下需要配合后台接口数据,使用滚动,滚动之后需要重置插件。

//********** 获取后台数据// 定义列表数据
const list = ref([]);// 定义滚动组件 就是我们上边在dom上定义的ref
const cScroll = ref();
getListData().then(res => {if (res.code == 200) {list.value = res.data ? res.data : [];// 重置组件nextTick(() => {// 注意这个重置方法是大写的R -> Reset,而不是小写的reset();// 很多教程写错了,这里就会报错cScroll.value.Reset();})}
})

4.内容高度超出才滚动

还有个需求是滚动内容全部都是文字,当文字超出才滚动,不超出不滚动。

// 1. 首先设置滚动数字为2
/*默认数据长度2,也就是说list的长度为2才会滚动,也就是默认不滚动。如果我们判断内容的高度大于容器的高度,我们会把这个值设置为1,也就可以滚动了
*/// 默认数字
const defaultLimitNum = ref(2);// 2. 然后获取文字容器的高度// 定义滚动组件 就是我们上边在dom上定义的ref
const cScroll = ref();
nextTick(() => {const scrollHeight = cScroll.value.scrollHeight;// 这里判断 大于容器高度,就可以设置为1,让他滚动// 假设容器高度为500pxdefaultLimitNum.value = scrollHeight > 500 ? 1 : 2;// 重置组件CScroll.value.Reset();})

最后,需要注意以下几点:

1. 父元素的“overflow:hidden”必须设置,不设置没有效果;

2. 每次更换数据,最好重置滚动组件(Reset);

http://www.lryc.cn/news/395496.html

相关文章:

  • Python酷库之旅-第三方库Pandas(012)
  • SpringCloud集成nacos之jasypt配置中心的密码加密的自动解密
  • Python 中将字典内容保存到 Excel 文件使用详解
  • libaom 编码器 aomenc 使用文档介绍
  • 速盾:cdn 缓存图片
  • 移动应用开发课设——原神小助手文档(2)
  • 智能聊天机器人:使用PyTorch构建多轮对话系统
  • 昇思25天学习打卡营第16天 | 文本解码原理-以MindNLP为例
  • Unity之Text组件换行\n没有实现+动态中英互换
  • vue3+ el-tree 展开和折叠,默认展开第一项
  • ProFormList --复杂数据联动ProFormDependency
  • Git、Github、tortoiseGit下载安装调试全套教程
  • 老师怎么快速发布成绩?
  • 央视揭露:上百元的AI填报高考志愿真的靠谱吗?阿里云新增两位AI圈“代言人”!|AI日报
  • TPM管理咨询公司甄选指南
  • 探索 Scikit-Learn:机器学习的强大工具库
  • 音视频质量评判标准
  • 如何在vue3中使用scss
  • Gartner发布采用美国防部模型实施零信任的方法指南:七大支柱落地方法
  • Flutter——最详细(Badge)使用教程
  • SQLServer的系统数据库用别的服务器上的系统数据库替换后做跨服务器连接时出现凭证、非对称金钥或私密金钥的资料无效
  • vue前端面试
  • 【网络安全】Host碰撞漏洞原理+工具+脚本
  • unattended-upgrade进程介绍
  • SpringBoot 中多例模式的神秘世界:用法区别以及应用场景,最后的灵魂拷问会吗?- 第519篇
  • 基于STM32设计的智能婴儿床(ESP8266局域网)_2024升级版_180
  • C++(第四天----拷贝函数、类的组合、类的继承)
  • 第一课:接口配置IP地址:DHCP模式
  • esp32_spfiffs
  • 每日一练全新考试模式解锁|考试升级