列表滚动

2022/6/30 VUE

无缝轮播列表滚动,文档 (opens new window)

# 安装

  • npm npm install vue-seamless-scroll --save
  • yarn yarn add vue-seamless-scroll

# 使用

# 注册组件

可全局可局部

// **main.js**
// 1.全局 install
import Vue from 'vue'
import scroll from 'vue-seamless-scroll'
Vue.use(scroll)

// 或者你可以自己设置全局注册的组件名 默认注册的组件名是 vue-seamless-scroll
Vue.use(scroll,{componentName: 'scroll-seamless'})

// 2.单个.vue文件局部注册
<script>
  import vueSeamlessScroll from 'vue-seamless-scroll'
   export default {
      components: {
        vueSeamlessScroll
      }
   }
</script>

# 使用组件

<template>
  <vue-seamless-scroll :class-option="classOption" :data="listData" class="warp">
    <ul class="item">
      <li v-for="(item, index) in listData" :key="index">
        <span class="title" v-text="item.title"></span>
        <span class="date" v-text="item.date"></span>
      </li>
    </ul>
  </vue-seamless-scroll>
</template>

<script>
  import vueSeamlessScroll from 'vue-seamless-scroll'

  export default {
    name: 'Example01Basic',
    components: {
      vueSeamlessScroll
    },
    computed:{
      classOption(){
        return{
          step: 2
        }
      }
    }
    data () {
      return {
        listData: [{
          'title': '无缝滚动第一行无缝滚动第一行',
          'date': '2017-12-16'
        }, {
          'title': '无缝滚动第二行无缝滚动第二行',
          'date': '2017-12-16'
        }, {
          'title': '无缝滚动第三行无缝滚动第三行',
          'date': '2017-12-16'
        }, {
          'title': '无缝滚动第四行无缝滚动第四行',
          'date': '2017-12-16'
        }],
      }
    },
  }
</script>

<style lang="scss" scoped>
  .warp {
    height: 270px;
    width: 360px;
    margin: 0 auto;
    overflow: hidden;
    ul {
      list-style: none;
      padding: 0;
      margin: 0 auto;
      li,
      a {
        display: block;
        height: 30px;
        line-height: 30px;
        display: flex;
        justify-content: space-between;
        font-size: 15px;
      }
    }
  }
</style>

# 配置

classOption(){
  return{
    step: 2 //数值越大速度滚动越快。
    limitMoveNum:5 , //开启无缝滚动的数据量。
    hoverStop:false, //是否启用鼠标 hover 控制。
    direction:1, //方向: 0 往下 1 往上 2 向左 3 向右
    openTouch:true, //移动端开启 touch 滑动
    singleHeight:0, //单步运动停止的高度(默认值 0 是无缝不停止的滚动),direction 为 0|1 时生效。
    singleWidth:0, //单步运动停止的宽度(默认值 0 是无缝不停止的滚动),direction 为 2|3 时生效。
    waitTime: 100, //单步停止等待时间(默认值 1000ms)。
    switchOffset:30 ,// 左右切换按钮距离左右边界的边距(px)。
    autoPlay:true ,// 需要实现手动切换左右滚动的时候,必须设置autoPlay:false(1.1.17 版本开始,只需要设置navigation:false),目前不支持环路。
    switchSingleStep:134,//手动单步切换 step 值(px)。
    switchDelay:400 , //单步切换的动画时间(ms)。
    switchDisabledClass:disabled, //不可以点击状态的 switch 按钮父元素的类名。
    isSingleRemUnit:false ,// singleHeight and singleWidth 是否开启 rem 度量。
    navigation:false , //左右方向的滚动是否显示控制器按钮,true 的时候 autoPlay 自动变为 false。
  }
}
Last Updated: 2022/9/26 16:30:33