vue swiper6.8.1用法 自动播放,无限循环,过度等

<template>
  <div class="index">
    <div class="container">
      <div class="swiper-box">
        <swiper
            :slides-per-view="5" // 显示几个
          :centeredSlides="true"  // 设定为true时,active slide会居中
          :space-between="30"
          navigation
          :effect="'cube'"
          :loop="true"
          :pagination="{ clickable: true }"
           :autoplay='{
            "delay":2500,
            "disableOnInteraction":false
          }'
          @swiper="onSwiper"
          @slideChange="onSlideChange"
            :cubeEffect='{
            "shadow": false,
            "slideShadows": false,
              "shadowOffset": 20,
             "shadowScale": 0.94
            }'
        >
          <swiper-slide v-for="(item, index) in sliderList" :key="index">
            <a :href="'/#/product/'+item.id">
              <img :src="item.img" alt="">
            </a>
          </swiper-slide>
        </swiper>
      </div>
      <div class="ads-box"></div>
      <div class="banner"></div>
      <div class="product-box"></div>
    </div>
    <ServiceBar />
  </div>
</template>

<script>
import SwiperCore, { Navigation, Pagination, Scrollbar, EffectCube, Autoplay } from 'swiper'
import { Swiper, SwiperSlide } from 'swiper/vue'
import ServiceBar from '../components/ServiceBar.vue'
import 'swiper/swiper.scss'
import 'swiper/components/navigation/navigation.scss'
import 'swiper/components/pagination/pagination.scss'
import 'swiper/components/scrollbar/scrollbar.scss'
import 'swiper/components/effect-cube/effect-cube.scss'

SwiperCore.use([Navigation, Pagination, Scrollbar, EffectCube, Autoplay])
export default {
  components: {
    ServiceBar,
    Swiper,
    SwiperSlide
  },
  name: 'index',
  data () {
    return {
      sliderList: [
        {
          id: '42',
          img: '/imgs/slider/slide-1.jpg'
        },
        {
          id: '45',
          img: '/imgs/slider/slide-2.jpg'
        },
        {
          id: '46',
          img: '/imgs/slider/slide-3.jpg'
        },
        {
          id: '',
          img: '/imgs/slider/slide-4.jpg'
        },
        {
          id: '',
          img: '/imgs/slider/slide-5.jpg'
        }
      ]
    }
  },
  methods: {
    onSwiper (swiper) {
      console.log(swiper)
    },
    onSlideChange () {
      console.log('slide change')
    }
  }
}
</script>

<style lang="scss">
  .index {
    .swiper-box {
      .swiper-container {
        height: 451px;
        img {
          width: 100%;
        } 
        .swiper-button-prev:after {
            padding: 11px;
            color: #fff;
            background: rgba(0,0,0,.5);
        }
        .swiper-button-next:after {
            padding: 11px;
            color: #fff;
            background: rgba(0,0,0,.5);
        }
      }
    }
  }
</style>

注意要用es6的方式去写,effect 用法改变了

slideShadows:开启slide阴影。默认 true。
shadow: 开启投影。默认 true。
shadowOffset:投影距离。默认 20,单位px。
shadowScale: 投影缩放比例。默认0.94。

中间active 放大  要重置overflow属性

.swiper-container {
          overflow: visible;
          .swiper-slide.swiper-slide-active img {
          transform:scale(1.2)
          }
           .swiper-slide img{
            display: block;
            width:100%;
            transition: transform .6s;
          }
        }

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaodunmeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值