swiper + vue 中间大两边小轮播图

展示效果

展示效果~~

代码

字体16px 框架vuetify

<template>
	<v-main>
		<div class="body_height ofs">
			<div style="overflow: hidden;">
				<div style="margin: 0 0.7rem 2rem;">
					<!-- 轮播 -->
					<div style="">
						<swiper :options="swiperOption" ref="mySwiper" @swiper="onSwiper"
							@slideChange="onSlideChange(swiper)" v-if="pics.length">
							<swiper-slide v-for="(slide, i) in pics">

								<img :src="slide" height="10rem" style="height: 10rem;">
							</swiper-slide>

						</swiper>

					</div>
				</div>
			</div>
		</div>
	</v-main>
</template>

<script>
	// 引入插件
	import {
		swiper,
		swiperSlide
	} from "vue-awesome-swiper";
	import "swiper/css/swiper.css";
	export default {
		components: {
			swiper,
			swiperSlide,
		},
		data() {
			return {
				swiperOption: {
					loop: true,
					autoplay: true,
					observer: true, //修改swiper自己或子元素时,自动初始化swiper
					observeParents: true, //修改swiper的父元素时,自动初始化swiper 
					slidesPerView: "auto",
					centeredSlides: true,
					// 显示分页
					pagination: {
						el: ".swiper-pagination",
						clickable: true //允许分页点击跳转
					},
					// 设置点击箭头
					navigation: {
						nextEl: ".swiper-button-next",
						prevEl: ".swiper-button-prev"
					},
				
					on: {
				
						init: function(swiper) {
							//Swiper初始化了
							// alert('当前的slide序号是'+this.activeIndex);//或者swiper.activeIndex,swiper与this都可指代当前swiper实例
							/* this.emit('transitionEnd');//在初始化时触发一次transitionEnd事件,需要先设置transitionEnd */
							console.log("初始化", this.ind)
				
						},
				
					},
				},
				pics: [
					require("../../images/banner1.png"),
					require("../../images/banner2.png"),
					require("../../images/banner3.png"),
					require("../../images/banner4.png")
				],


			}
		},
		created() {

		},
		computed: {
			swiper() {
				return this.$refs.mySwiper.swiper;
			},


		},
		methods: {
			goBack() {
				this.$router.go(-1)
			},
			onSwiper(swiper) {
				console.log("swiper");
			},
			onSlideChange(e) {
				console.log("执行暂停播放", e.activeIndex, e.previousIndex)


			},
		}
	}
</script>

<style scoped>
	.swiper-container {
		width: 100%;
		height: 10rem;
		overflow: visible !important;
	}

	.swiper-container .swiper-wrapper .swiper-slide {
		width: 100%;
		border-radius: 0.5rem;
	}

	.swiper-container .swiper-wrapper .swiper-slide img {
		width: 100%;
		height: 10rem;
		border-radius: 0.5rem;
	}

	.swiper-container .swiper-wrapper .swiper-slide-prev {
		margin-top: 0.5rem;
		height: 9rem !important;

	}

	.swiper-container .swiper-wrapper .swiper-slide-prev img {
		height: 9rem !important;
	}

	.swiper-container .swiper-wrapper .swiper-slide-next {
		margin-top: 0.5rem;
		height: 9rem !important;
	}

	.swiper-container .swiper-wrapper .swiper-slide-next img {
		height: 9rem !important;
	}

	.swiper-container .swiper-wrapper .swiper-slide-active {
		width: 100%;
	}

	.swiper-pagination {
		bottom: -30px !important;

	}

	.swiper-pagination .swiper-pagination-bullet {
		width: 12px;
		height: 12px;
		background: #ff1e1e;
	}

	.swiper-pagination .swiper-pagination-bullet-active {
		width: 21px;
		height: 12px;
		background: #e75230;
		border-radius: 6px;
	}
</style>

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值