安装swiper版本4.0.5版本后
npm install swiper@4.0.5 --save
引入方法
import Swiper from 'swiper'; import 'swiper/dist/css/swiper.css';
使用
new Swiper('#certify .swiper-container', { watchSlidesProgress: true, slidesPerView: 'auto', centeredSlides: true, loop: true, loopedSlides: 5, autoplay: { delay: 10000, disableOnInteraction: false }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev' }, pagination: { el: '.swiper-pagination', clickable: true }, on: { progress () { for (let i = 0; i < this.slides.length; i++) { const slide = this.slides.eq(i); const slideProgress = this.slides[i].progress; let modify = 1; if (Math.abs(slideProgress) > 1) { modify = (Math.abs(slideProgress) - 1) * 0.5 + 1; } const translate = `${slideProgress * modify * 130}px`; const scale = 1 - Math.abs(slideProgress) / 5; const zIndex = 999 - Math.abs(Math.round(10 * slideProgress)); slide.transform(`translateX(${translate}) scale(${scale})`); slide.css('zIndex', zIndex); slide.css('opacity', 1); if (Math.abs(slideProgress) > 3) { slide.css('opacity', 0); } } }, setTransition (transition) { for (let i = 0; i < this.slides.length; i++) { const slide = this.slides.eq(i); slide.transition(transition); } } } });
实现效果为轮播展示。
ie浏览器一致报错,查询兼容性,按道理4版本是支持ie的。
后来发现Swiper.js 这个 npm 包里面还使用了 dom7
和 ssr-window
,所以需要对这两个插件进行 Babel 转 ES5
Vue CLI 3.x 下
在 vue.config.js
中增加 transpileDependencies
配置