我是靠谱客的博主 有魅力汽车,最近开发中收集的这篇文章主要介绍vue 走马灯无缝滚动轮播图 vue-seamless-scroll,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

效果图 GIF软件有点问题出现抖动 (献丑了QAQ)

1. 安装 vue-seamless-scroll

npm install vue-seamless-scroll --save
//或
yarn add vue-seamless-scroll

2. 引入组件 

import vueSeamlessScroll from 'vue-seamless-scroll'

3 引用

// 注册
components: {
        vueSeamlessScroll
}

//使用
<vue-seamless-scroll></vue-seamless-scroll>

4. API

defaultOption() {
      return {
        step: 0.8, // 数值越大速度滚动越快
        limitMoveNum: Math.ceil(this.logos.length / 5), // 开始无缝滚动的数据量 this.dataList.length
        hoverStop: true, // 是否开启鼠标悬停stop
        direction: 1, // 0向下 1向上 2向左 3向右
        openWatch: true, // 开启数据实时监控刷新dom
        singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
        singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
        waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
      };
    },

5. 示例

页面部分

<vue-seamless-scroll
    ref="scroll"
    :data="logos"
    :class-option="defaultOption"
    style="width:1110px;height:300px;overflow:hidden; margin:0 auto;"
  >
    <ul class="ul-scoll">
      <li
        v-for="(item, index) in Math.ceil(logos.length / 5)"
        :key="index"
      >
        <img
          v-for="(item, i) in logos.slice(5 * index, 5 * (index + 1))"
          :key="i"
          :src="getImg(item)"
          
        />
      </li>
    </ul>
  </vue-seamless-scroll>

代码段

<script>

    import logos from './logos'
    import vueSeamlessScroll from 'vue-seamless-scroll'

    export default {
    components:{
      vueSeamlessScroll
    },
    data () {
      return {
        logos:logos,
      }
    },
    computed:{
      defaultOption() {
        return {
          step: 0.8, // 数值越大速度滚动越快
          limitMoveNum: Math.ceil(this.logos.length / 5), // 开始无缝滚动的数据量 this.dataList.length
          hoverStop: true, // 是否开启鼠标悬停stop
          direction: 1, // 0向下 1向上 2向左 3向右
          openWatch: true, // 开启数据实时监控刷新dom
          singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
          singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
          waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
        };
      },
    },
    methods: {
      getImg(item) {
          return require(`../assets/index/logos${item.split('logos')[1]}`);
        },
    }
  }
</script>

图片导入方法 logos.js

let requireModule = require.context(
  '../assets/index/logos',
  false,
  /.png$/,
);
// console.log('len:', requireModule.keys().length, requireModule.keys());
let logos = [];
for (let i = 0; i < requireModule.keys().length; i++) {
  logos.push(
    `../assets/index/logos/${requireModule.keys()[i].split('./')[1]}`,
  );
}

export default logos;

最后

以上就是有魅力汽车为你收集整理的vue 走马灯无缝滚动轮播图 vue-seamless-scroll的全部内容,希望文章能够帮你解决vue 走马灯无缝滚动轮播图 vue-seamless-scroll所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部