vue单页面构建一个轮播图,图片选用免费网络图片
时间: 2024-06-12 08:05:58 浏览: 121
以下是一个简单的Vue单页面轮播图示例,图片选用的是Unsplash网站提供的免费图片。
1. 创建Vue实例
```
new Vue({
el: '#app',
data: {
images: [
'https://images.unsplash.com/photo-1558981001-7927b5f9e1c7',
'https://images.unsplash.com/photo-1558979466-176f86d3d3db',
'https://images.unsplash.com/photo-1558979742-1c7f6f8c4383',
'https://images.unsplash.com/photo-1558980516-7f1e0dfedea7',
'https://images.unsplash.com/photo-1558979770-7a10a2cd1d5a'
],
currentIndex: 0
},
computed: {
currentImage() {
return this.images[this.currentIndex]
}
},
methods: {
nextImage() {
this.currentIndex = (this.currentIndex + 1) % this.images.length
},
prevImage() {
this.currentIndex = (this.currentIndex - 1 + this.images.length) % this.images.length
}
}
})
```
2. 编写HTML模板
```
<div id="app">
<div class="slider">
<img :src="currentImage" alt="Slider Image">
<button class="prev" @click="prevImage">‹</button>
<button class="next" @click="nextImage">›</button>
</div>
</div>
```
3. 编写CSS样式
```
.slider {
position: relative;
width: 100%;
height: 500px;
overflow: hidden;
}
.slider img {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
}
.slider button {
position: absolute;
top: 50%;
transform: translateY(-50%);
padding: 10px;
font-size: 30px;
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
border: none;
cursor: pointer;
}
.slider button.prev {
left: 0;
}
.slider button.next {
right: 0;
}
```
这样就可以实现一个简单的Vue单页面轮播图了。