首页 > 其他 > 详细

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

时间:2020-04-24 18:30:09      阅读:159      评论:0      收藏:0      [点我收藏+]

轮播图在一般项目中很常见,很多常用饿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
        }
      });
    }

  

 

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

原文:https://www.cnblogs.com/bingchenzhilu/p/12768903.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!