当前位置:   article > 正文

Vue第34篇,vue-seamless-scroll插件,使用详细( vue-seamless-scroll 无缝滚动)_vue3-seamless-scroll

vue3-seamless-scroll

前言

vue-seamless-scroll是一个基于Vue.js的无缝滚动插件,支持上下左右无缝滚动、单步滚动,以及支持水平方向的手动切换功能,配置多,满足日常开发需求,基于requestAnimationFrame实现,下面给大家介绍一下,具体的使用详细


一. 安装相关依赖

  1. //vue2
  2. npm install vue-seamless-scroll --save
  3. //vue3
  4. npm install vue3-seamless-scroll --save


二. 全局引入组件

  1. //vue2
  2. import scroll from 'vue-seamless-scroll'
  3. Vue.use(scroll)
  4. //vue3 代码多去少补
  5. import { createApp } from 'vue';
  6. import App from './App.vue';
  7. import vue3SeamlessScroll from "vue3-seamless-scroll";
  8. const app = createApp(App);
  9. app.use(vue3SeamlessScroll);
  10. app.mount('#app');

或者使用局部引入

  1. //组价使用三步骤1、引入 2、注册 3、使用
  2. import vueSeamlessScroll from 'vue-seamless-scroll' //1、引入
  3. components: { //2、注册
  4. vueSeamlessScroll
  5. }, 
  6. <vue-seamless-scroll></vue-seamless-scroll> //3、使用
  7. //vue3 同上 代码多去少补
  8. import { defineComponent } from "vue";
  9. import { Vue3SeamlessScroll } from "vue3-seamless-scroll";
  10. export default defineComponent({
  11. components: {
  12. Vue3SeamlessScroll
  13. }
  14. })
  15. <vue3-seamless-scroll></vue3-seamless-scroll>


三. 组件使用,配置相关属性

  1. //vue2 eg:
  2. <template>
  3. //这里写的行内样式,需要时自己补充
  4. <vue-seamless-scroll
  5. class="scroll_box"
  6. :data="dataList"
  7. :class-option="defineScroll"
  8. style="
  9. height: 100%;
  10. overflow: hidden;
  11. width: 100%;
  12. color: white;
  13. font-size: 18px;
  14. text-align: center;
  15. "
  16. >
  17. <ul>
  18. <li
  19. v-for="(item, index) in dataList"
  20. :key="index"
  21. style="padding: 10px 0; margin: 5px"
  22. >
  23. <span class="name">{{ item.name }}</span>
  24. <span class="Etiology">{{ item.Etiology }}</span>
  25. <span class="status">{{ item.status }}</span>
  26. <span class="time">{{ item.time }}</span>
  27. </li>
  28. </ul>
  29. </vue-seamless-scroll>
  30. </template>
  31. // 数据属性
  32. data() {
  33. return {
  34. dataList: [
  35. {
  36. time: "XXXXXXXXX",
  37. name: "XX",
  38. Etiology: "XX",
  39. status: "XXX",
  40. },
  41. ......
  42. ],
  43. };
  44. },
  45. // 定义计算属性,默认执行一次(监听,类似于data概念);
  46. computed: {
  47. defineScroll() {
  48. return {
  49. step: 0.5, // 数值越大速度滚动越快
  50. limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.length
  51. hoverStop: true, // 是否开启鼠标悬停stop
  52. direction: 1, // 0向下 1向上 2向左 3向右
  53. openWatch: true, // 开启数据实时监控刷新dom
  54. // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
  55. singleHeight: 0,
  56. // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
  57. singleWidth: 0,
  58. waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
  59. };
  60. },
  61. },},


四. 效果如下(测试数据,仅供参考)

  1. //vue3 eg:
  2. <vue3-seamless-scroll
  3. hover-stop="true"
  4. :list="listData"
  5. hover="true"
  6. step="0.3">
  7. <div
  8. v-for="(item, index) in listData"
  9. :key="index"
  10. class="item"
  11. style="padding: 10px; margin: 5px; font-size: 14px"
  12. >
  13. <span
  14. v-for="(value, key, ind) in item"
  15. :key="ind"
  16. class="spanClass">
  17. {{value}}
  18. </span>
  19. </div>
  20. </vue3-seamless-scroll>


五. 更多操作,请看

vue-seamless-scroll 插件在线演示文档icon-default.png?t=N7T8https://chenxuan1993.gitee.io/component-document/index_prod#/component/seamless-others

感觉有用,就一键三连,感谢(●'◡'●)

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号