使用swiper插件在vue项目中完成无缝滚动以及轮播图

轮播图在一般项目中很常见,很多常用element-ui组件库中也有轮播图,可以不再单独使用swiper,但是当有的ui组件不能完成你的需求后,则可以使用swiper完成。

1,首先安装swiper

yarn add  swiper

2,引入

import Swiper from "swiper";
import "swiper/css/swiper.min.css";

3、代码块(布局代码块)

  <div class="swiper-container">
      <div class="swiper-wrapper">
        <div class="swiper-slide slide_item" v-for="(item,i) in image" :key="i">
          <img
            @click="$router.push({ path: `/business_detail/${item._id}` })"
            :src="item.src"
            alt
            :onerror="defaultImg"
          />
        </div>
      </div>
    </div>

  css-----------如果你可以保证轮播图尺寸一致的话,可以不用限制图片高度,反之,图片尺寸不同的话,你可以通过媒体查询为每个尺寸的轮播图定一下高度

.slide_item img {
  width: 100%;
  object-fit: cover;
}

  媒体查询如下:可根据需要添加

@media (min-width: 400px) and (max-width: 768px) {
  .slide_item {
    img {
      height: 200px;
    }
  }
}

 4、数据获取以及轮播图渲染

 businessList().then(res => {
        if (res.code == 0) {
          this.image=res.data--------------------绑定的轮播图数据
        }
        this.$nextTick(() => {
          this.swiper();--------------此处为轮播初始化,我写成了一个方法
        });
      });

5、swiper初始化

swiper() {
      var mySwiper = new Swiper(".swiper-container", {
        autoplay: true,
        autoplay: {
          disableOnInteraction: false
        },
        speed: 800,
        loop: true,
        autoplayDisableOnInteraction: false,
        observer: true,----------------当获取图片时,轮播图不会循环轮播,原因是初始化的时候,还没有数据,数据拿到了,又初始化过了,因此加上粉色的这两个对象可以解决这个问题。
        observeParents: true,
        paginationClickable: true
      });
    }

6、无缝滚动

 swiper() {
      var mySwiper = new Swiper(".swiper-container1", {
        initialSlide: 0,
        autoplay: true,
        loop: true,
        speed: 1000,
        slidesPerView: 5,----------你想有几个图片同时展示在页面上就写几,每次平滑过渡一张图片
        spaceBetween: 0,
        observer: true,----------原因同上
        observeParents: true,
        paginationClickable: true,
        autoplay: {
          disableOnInteraction: false
        }
      });
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值