vue2 使用 swiper 轮播图效果
第一步、先安装swiper插件
npm install swiper@3.4.1 --save-dev
第二步、组件内引入swiper插件
import Swiper from 'swiper' import 'swiper/dist/css/swiper.min.css'
第三步、创建模板
<template>
<div class="swiper-container">
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="item in 16">
<el-image
style="width: 100%; height: 100%"
:src="url"
:preview-src-list="srcList"
fit="fill">
</el-image>
</div>
</div>
</div>
<!-- 导航按钮 -->
<div class="swiper-button-prev btn swiper-button-black"></div>
<div class="swiper-button-next btn swiper-button-black"></div>
</div>
</template>
第四步、mounted里面创建swiper实例就大功告成
mounted () {
this.swiper= new Swiper('.swiper-container', {
//轮播图swiper相关属性
})
}
最后附上完整代码:
<template>
<div class="swiper-container">
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="item in 16">
<el-image
style="width: 100%; height: 100%"
:src="url"
:preview-src-list="srcList"
fit="fill">
</el-image>
</div>
</div>
</div>
<!-- 如果需要分页器 -->
<!-- <div class="swiper-pagination"></div>-->
<!-- 导航按钮 -->
<div class="swiper-button-prev btn swiper-button-black"></div>
<div class="swiper-button-next btn swiper-button-black"></div>
</div>
</template>
<script>
import Swiper from 'swiper'
import 'swiper/dist/css/swiper.min.css'
export default {
//轮播图
name:'swiper',
data () {
return {
swiper: null,
url: 'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
srcList: [
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
]
}
},
mounted () {
this.swiper= new Swiper('.swiper-container', {
//速度
speed:2500,
//自动播放设置
autoplay: {
delay: 500,
disableOnInteraction: false,
waitForTransition: false,
},
// //轮播类型
// effect : 'coverflow',
// centeredSlides: true,
// //轮播类型的属性设置
// coverflowEffect: {
// rotate: 90,
// stretch: 10,
// depth: 90,
// modifier: 2,
// slideShadows: true
// },
//前进和后退的按钮
prevButton: '.swiper-button-prev',
nextButton: '.swiper-button-next',
centerInsufficientSlides: true,
//循环播放
// loop: true, // slidesPerGroup: 3,
//居中显示
loopFillGroupWithBlank: true,
//展示张数
slidesPerView: 'auto',
})
},
methods:{}
};
</script>
<style lang="scss">
.swiper-container {
width: 100%;
height: 100%;
padding: 15px 55px!important;
.swiper-slide {
width: 290px;
height: 150px;
padding-left: 15px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn {
height: 40px;
width: 20px;
background-size: contain;
}
</style>
本文来自博客园,作者:书中枫叶,转载请注明原文链接:https://www.cnblogs.com/zy-mg/p/14631882.html
漫思

浙公网安备 33010602011771号