swiper3D轮播图专属案例

先安转swiper的各种依赖包:npm install vue-awesome-swiper(如果是vue2请安装4.1.*的版本),

npm install swiper

 <div class="swiper-container my-swiper">

<div class="swiper-wrapper">

        <div class="swiper-slide" v-for="(column, index) in visibleColumns" :class="[`column${index}`, index === 1 ? 'active' : '']" :key="index">

          <span class="cell"  v-for="(item, index) in column" :class="{ active_cell: getIsCz(item) }" @click="generate(item)" :key="index">

            {{item.label}}

          </span>

        </div>

      </div>

      <div class="swiper-button-prev"> <img class="leftimg" src="../assets/leftjiantou.png" alt="" /></div>

      <div class="swiper-button-next"> <img class="rightimg" src="../assets/rightjiantou.png" alt="" /></div>

</div>

<srcipt>

 mounted() {

    const mySwiper = new Swiper(".swiper-container", {

     // loop: true,

      centeredSlides: true,

      effect: "coverflow",

      freeMode: true,

      slidesPerView: 'auto', // 3 这个是三个轮播切换没三组切换一次

      coverflowEffect: {

        rotate: -20,

        stretch: -100,

        depth: 100,

        modifier: 1,

        slideShadows: true,

      },

      pagination: {

        el: ".swiper-pagination",

        clickable: true,

        //loop: true, // 循环参数

      },

      navigation: {

        nextEl: ".swiper-button-next",

        prevEl: ".swiper-button-prev",

      // loop: true, // 循环参数

      },

    });

  },

</srcipt>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个异形轮播图案例,使用了Swiper库实现: HTML代码: ```html <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide" style="background-image:url('image1.jpg')"></div> <div class="swiper-slide" style="background-image:url('image2.jpg')"></div> <div class="swiper-slide" style="background-image:url('image3.jpg')"></div> <div class="swiper-slide" style="background-image:url('image4.jpg')"></div> <div class="swiper-slide" style="background-image:url('image5.jpg')"></div> <div class="swiper-slide" style="background-image:url('image6.jpg')"></div> <div class="swiper-slide" style="background-image:url('image7.jpg')"></div> <div class="swiper-slide" style="background-image:url('image8.jpg')"></div> </div> <div class="swiper-pagination"></div> </div> ``` CSS代码: ```css .swiper-container { width: 100%; height: 500px; margin: 0 auto; position: relative; overflow: hidden; } .swiper-slide { width: 50%; height: 100%; background-size: cover; background-position: center; position: absolute; top: 0; left: 0; transition: transform 0.5s ease-in-out; } .swiper-slide:nth-child(1) { transform: translateX(0); } .swiper-slide:nth-child(2) { transform: translateX(50%); } .swiper-slide:nth-child(3) { transform: translateX(100%); } .swiper-slide:nth-child(4) { transform: translateX(150%); } .swiper-slide:nth-child(5) { transform: translateX(200%); } .swiper-slide:nth-child(6) { transform: translateX(250%); } .swiper-slide:nth-child(7) { transform: translateX(300%); } .swiper-slide:nth-child(8) { transform: translateX(350%); } .swiper-pagination { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10; } .swiper-pagination-bullet { width: 10px; height: 10px; border-radius: 50%; background-color: rgba(255, 255, 255, 0.5); margin: 0 10px; cursor: pointer; } .swiper-pagination-bullet-active { background-color: #fff; } ``` JavaScript代码: ```javascript var swiper = new Swiper('.swiper-container', { slidesPerView: 'auto', centeredSlides: true, spaceBetween: 30, pagination: { el: '.swiper-pagination', clickable: true, }, on: { slideChangeTransitionEnd: function() { var activeIndex = this.activeIndex; var slidesLength = this.slides.length; var halfSlidesLength = Math.floor(slidesLength / 2); var halfIndex = activeIndex % halfSlidesLength; var translateX = halfIndex * 50; var slides = this.slides; for (var i = 0; i < slidesLength; i++) { var slide = slides[i]; var slideIndex = slide.getAttribute('data-swiper-slide-index'); var halfSlideIndex = slideIndex % halfSlidesLength; var zIndex = halfSlidesLength - Math.abs(halfIndex - halfSlideIndex); slide.style.transform = 'translateX(' + (50 * (slideIndex - activeIndex)) + '%) scale(' + zIndex / halfSlidesLength + ')'; slide.style.zIndex = zIndex; } }, }, }); ``` 以上代码实现了一个基于Swiper的异形轮播图,通过CSS设置每个轮播项的位置以及过渡效果,通过JavaScript实现了轮播项的缩放和层叠效果。同时,通过Swiper的API实现了轮播图的自动轮播和分页器。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值