# swiper - 轮播图
# 1. 安装
npm i swiper
# 10.3.1
# 2. 基础
# 2.1. 参数
# 2.2. 属性
prop | desc |
---|---|
activeIndex | 当前 slide 的索引,loop 模式,复制的 slide 也会算在内 |
realIndex | 当前非复制块 slide 的索引 |
# 2.3. 方法
# 3. 示例
地址: swiper-demo —— codesandbox.io (opens new window)
代码:
<template>
<div class="box">
<div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide item" v-for="i in 10">slider{{ i }}</div>
</div>
</div>
<div class="swiper-pagination"></div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
</template>
<script>
import { Swiper } from "swiper/bundle";
import "swiper/swiper-bundle.css";
export default {
mounted() {
this.swiper = new Swiper(".swiper", {
slidesPerView: 4,
spaceBetween: 20,
loop: true,
pagination: {
el: ".swiper-pagination",
clickable: true,
},
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
});
},
beforeUnmounted() {
if (this.swiper) {
this.swiper.destroy();
}
},
};
</script>
<style lang="scss">
.box {
position: relative;
margin-bottom: 24px;
width: 80%;
margin: 0 auto;
}
.swiper {
width: 100%;
height: 440px;
}
.swiper-slide {
display: flex;
justify-content: center;
align-items: center;
}
.swiper-pagination {
bottom: -48px;
.swiper-pagination-bullet {
margin: 0 12px;
width: 20px;
height: 20px;
border-radius: 100px;
}
.swiper-pagination-bullet-active {
background: #f8884d;
}
}
.swiper-button-prev,
.swiper-button-next {
margin-top: -48px;
width: 80px;
height: 80px;
border-radius: 100px;
background: rgba(0, 0, 0, 0.15);
&:hover {
background: rgba(0, 0, 0, 0.55);
}
}
.swiper-button-prev:after,
.swiper-button-next:after {
color: #fff;
}
.swiper-button-prev {
left: -40px;
}
.swiper-button-next {
right: -40px;
}
</style>
# 4. 参考
上一篇: 下一篇:
本章目录