<template>
<div class="carousel">
<transition-group name="fade" tag="div">
<div v-for="(slide, index) in slides" :key="index" v-show="index === currentIndex" class="carousel__slide">
<img :src="slide.image" alt="carousel image" />
</div>
</transition-group>
<button @click="prevSlide">Previous</button>
<button @click="nextSlide">Next</button>
</div>
</template>
<script>
export default {
data() {
return {
slides: [
{ image: 'https://via.placeholder.com/800x400?text=Slide+1' },
{ image: 'https://via.placeholder.com/800x400?text=Slide+2' },
{ image: 'https://via.placeholder.com/800x400?text=Slide+3' }
],
currentIndex: 0
};
},
methods: {
nextSlide() {
this.currentIndex = (this.currentIndex + 1) % this.slides.length;
},
prevSlide() {
this.currentIndex = (this.currentIndex - 1 + this.slides.length) % this.slides.length;
}
}
};
</script>
<style scoped>
.carousel {
position: relative;
width: 800px;
margin: 0 auto;
}
.carousel__slide {
text-align: center;
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
</style>
模板部分 (<template>):
transition-group 组件来实现图片切换时的淡入淡出效果。v-for 指令用于遍历 slides 数组,并显示当前索引对应的图片。v-show 指令根据 currentIndex 控制显示哪一张图片。脚本部分 (<script>):
slides 数组,每张图片通过 image 属性指定其 URL。currentIndex 用于跟踪当前显示的图片索引。nextSlide 和 prevSlide 方法用于更新 currentIndex,从而切换图片。样式部分 (<style scoped>):
上一篇:vue截取字符串
下一篇:vue 指令
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站