暂停
继续
export default {
data() {
return {
currentIndex: 0,
imageList: [
'url1.jpg',
'url2.jpg',
'url3.jpg',
// ...
],
intervalId: null
};
},
computed: {
currentImage() {
return this.imageList[this.currentIndex];
}
},
methods: {
updateImage() {
this.currentIndex = (this.currentIndex + 1) % this.imageList.length;
},
startCarousel() {
if (!this.intervalId) {
this.intervalId = setInterval(this.updateImage, 100);
}
},
pauseCarousel() {
clearInterval(this.intervalId);
this.intervalId = null;
},
resumeCarousel() {
this.startCarousel();
}
},
mounted() {
this.startCarousel();
},
destroyed() {
this.pauseCarousel();
}
};
.image {
width: 100%;
height: auto;
}