当前位置:   article > 正文

利用vue3SeamlessScroll 简单实现列表的无限循环滚动

利用vue3SeamlessScroll 简单实现列表的无限循环滚动

Vue3SeamlessScroll

该组件用于实现列表的无限循环滚动

1、安装

npm i vue3-seamless-scroll

2、导入及基本使用

  1. <!--组件.vue-->
  2. <script setup>
  3. import { Vue3SeamlessScroll } from 'vue3-seamless-scroll';
  4. import {ref} from 'vue'
  5. //vue3导入组件是不需要用component注册的
  6. //导入完成后如果项目本身是在运行的记得重新编译项目,不然会报错,如npm run dev
  7. const listData = ref([
  8. {title:'事件1',content:'内容1'},
  9. {title:'事件2',content:'内容2'},
  10. {title:'事件3',content:'内容3'},
  11. {title:'事件4',content:'内容4'},
  12. ])
  13. const isScroll=ref(true)
  14. </script>
  15. <template>
  16. <div class="contain">
  17. <vue3-seamless-scroll
  18. class="scroll"
  19. v-model="isScroll"
  20. :list="listData"
  21. :step="0.3"
  22. :hover="true"
  23. :limit-scroll-num="3"
  24. :wheel="true"
  25. >
  26. <div v-for="item in listData" class="item">
  27. <div class="title">
  28. {{item.title}}:{{item.content}}
  29. </div>
  30. </div>
  31. </vue3-seamless-scroll>
  32. </div>
  33. </template>
  34. <style>
  35. .scroll{
  36. /* 必需要设置合适的高,因为他的原理是往列表最后添加列表重复元素,所以这个组件高不要大于其内容原先的最大高度 */
  37. height: 90px;
  38. width: 300px;
  39. overflow: hidden;
  40. }
  41. </style>

3、配置项及解释

在标签中配置配置项(props属性)

list

无缝滚动列表数据,组件内部使用列表长度

  1. type: Array
  2. required: true

 v-model

通过v-model控制动画滚动与停止,默认开始滚动

  1. type: Boolean,
  2. default: true,
  3. required: false

 direction

控制滚动方向,可选值updownleftright

  1. type: String,
  2. default: "up",
  3. required: false

 isWatch

开启数据更新监听

  1. type: Boolean,
  2. default: true,
  3. required: false

 hover

是否开启鼠标悬停

  1. type: Boolean,
  2. default: false,
  3. required: false

count

动画循环次数,默认无限循环

  1. type: Number,
  2. default: "infinite",
  3. required: false

 limitScrollNum

开启滚动的数据量,只有列表长度大于等于该值才会滚动

  1. type: Number,
  2. default: 5,
  3. required: false

 step

步进速度

  1. type: Number,
  2. required: false

 singleHeight

单步运动停止的高度

  1.   type: Number,
  2.   default: 0,
  3.   required: false

singleWidth

单步运动停止的宽度

  1.   type: Number,
  2.   default: 0,
  3.   required: false

singleWaitTime

单步停止等待时间(默认值 1000ms)

  1.   type: Number,
  2.   default: 1000,
  3.   required: false

isRemUnit

singleHeight and singleWidth 是否开启 rem 度量

  1.   type: Boolean,
  2.   default: true,
  3.   required: false

delay

动画延时时间

  1.   type: Number,
  2.   default: 0,
  3.   required: false

ease

动画效果,可以传入贝塞尔曲线数值

  1.   type: String | cubic-bezier,
  2.   default: "ease-in",
  3.   required: false

copyNum

拷贝列表次数,默认拷贝一次,当父级高度大于列表渲染高度的两倍时可以通过该参数控制拷贝列表次数达到无缝滚动效果

  1.   type: Number,
  2.   default: 1,
  3.   required: false

wheel

在开启鼠标悬停的情况下是否开启滚轮滚动,默认不开启

  1.   type: boolean,
  2.   default: false,
  3.   required: false

singleLine

启用单行横向滚动

  1. type: boolean,
  2.   default: false,
  3.   required: false

参考文章 :利用vue3SeamlessScroll简单实现列表的无限循环滚动,仅需几秒配置_vue3 表格循环滚动-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/458215
推荐阅读
相关标签
  

闽ICP备14008679号