vue使用Swiper插件实现卡片化轮播图

swiper轮播图滚动

1.安装swiper

官网:Swiper中文网-轮播图幻灯片js插件,H5页面前端开发

**注意:**下载插件【要@5.x】,不然会出现各种BUG。

npm i [email protected] [email protected] -S

2.HTML代码

html 复制代码
<div class="examples">
  <div class="swiper-container">
    <div class="swiper-wrapper">
      <div
        class="swiper-slide"
        v-for="(item, index) in clist"
        :key="index"
       >
         <img :src="item.imgUrl" alt="" />
      </div>
    </div>
  </div>
</div>

3.JS代码

html 复制代码
<script>
import Swiper from "swiper";
import "swiper/css/swiper.css";
export default {
  data () {
    return {
      clist: [
        {
          imgUrl: require('/src/assets/images/certify01.png')
        },
        {
          imgUrl: require('/src/assets/images/certify02.png')
        },
        {
          imgUrl: require('/src/assets/images/certify03.png')
        }
      ],
    }
  },
  mounted() {
    this.firingSwiper()
  },
  methods:{
   // 启动Swiper(轮播图)
    firingSwiper() {
      new Swiper(".swiper-container", {
        direction: "horizontal", //滑动方向,可设置水平(horizontal)或垂直(vertical)。
        loop: true, // 设置为true 则开启loop模式  衔接滑动
        // 自动滑动
        autoplay: {
          delay: 2000,
          stopOnLastSlide: false, // 如果设置为true,当切换到最后一个slide时停止自动切换。
          disableOnInteraction: false // 如果设置为false,用户操作swiper之后自动切换不会停止,每次都会重新启动autoplay
        },
        effect: "coverflow", // 切换效果 "coverflow"(3d流)
        slidesPerView: "auto", // 设置slider容器能够同时显示的slides数量(carousel模式)。类型:number or auto
        centeredSlides: true, // 设定为true时,active slide会居中,而不是默认状态下的居左。
        spaceBetween: 10, // 在slide之间设置距离(单位px)。
        slideToClickedSlide: true, // 设置为true则点击slide会过渡到这个slide。
        // loopAdditionaSlider: 0, // loop模式下会在slides前后复制若干个slide,,前后复制的个数不会大于原总个数。
        coverflowEffect: {
          rotate: 0, // slide做3d旋转时Y轴的旋转角度
          stretch: 0, // 每个slide之间的拉伸值,越大slide靠得越紧。5.3.6 后可使用%百分比
          depth: 60, // slide的位置深度。值越大z轴距离越远,看起来越小。
          modifier: 5, // depth和rotate和stretch的倍率,相当于depth*modifier、rotate*modifier、stretch*modifier,值越大这三个参数的效果越明显。
          slideShadows: true // 是否开启slide阴影
        }
      });
    },
  }
}
</script>

4.css代码

html 复制代码
<style>
// 自定义轮播图
.examples {
  margin-top: 0.6rem;
  overflow: auto;
}
.swiper-container {
  width: 100%;
}
.swiper-container .swiper-wrapper .swiper-slide {
  width: 206px !important;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.swiper-container .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 256px;
  border-radius: 12px;
}
</style>
相关推荐
前端_yu小白33 分钟前
js异步机制
前端·javascript·async·promise·await·js异步·回调地狱
Spider Cat 蜘蛛猫33 分钟前
chrome extension开发框架WXT之WXT Storage api解析【补充说明一】
前端·javascript·chrome
程序猿John4 小时前
ES6 新增特性 箭头函数
前端·javascript·es6
百锦再5 小时前
五种常用的web加密算法
前端·算法·前端框架·web·加密·机密
@大迁世界5 小时前
彻底改变我 React 开发方式的组件模式
前端·javascript·react.js·前端框架·ecmascript
William Dawson6 小时前
【Vue 3 + Element Plus 实现产品标签的动态添加、删除与回显】
前端·javascript·vue.js
拉不动的猪6 小时前
项目基础搭建时的一些基本注意点
前端·javascript·面试
蕉君桑6 小时前
vue2使用vue-echarts
前端·vue.js·echarts
runnerdancer6 小时前
React+Vite+Typescript项目脚手架模版
前端
Code额7 小时前
ECMAScript 6 新特性(二)
前端·javascript·ecmascript