<template>
<div>
{{carouselIndex}}
<el-carousel :autoplay='true' :interval="2000" arrow="always" type="card" height="200px" ref="carouselRef">
<el-carousel-item v-for="item in listArr" :key="item.index">
<img :src="item.url" alt="">
</el-carousel-item>
</el-carousel>
</div>
</template>
<script>
export default {
data(){
return{
carouselIndex:0,
listArr:[
{
index:0,
url:''
},
{
index:1,
url:''
},
{
index:2,
url:''
},
]
}
},
methods:{
// 上一页
prevFun(){
if(this.carouselIndex == 0){
this.carouselIndex = this.listArr.length-1
}else{
this.carouselIndex --
}
this.$refs.carouselRef.setActiveItem(this.carouselIndex)
},
// 下一页
nextFun(){
if(this.carouselIndex < this.listArr.length-1){
this.carouselIndex ++
}else{
this.carouselIndex = 0
}
this.$refs.carouselRef.setActiveItem(this.carouselIndex)
},
keyDown() {
document.onkeydown = (e) => {
//事件对象兼容
let e1 = e || event || window.event || arguments.callee.caller.arguments[0]
//键盘按键判断:左箭头-37;上箭头-38;右箭头-39;下箭头-40
//左
if (e1 && e1.keyCode == 37) {
this.prevFun()
// 按下左箭头
} else if (e1 && e1.keyCode == 39) {
this.nextFun()
// 按下右箭头
}
}
},
},
mounted(){
this.keyDown()
}
}
</script>
<style>
.el-carousel__item h3 {
color: #475669;
font-size: 14px;
opacity: 0.75;
line-height: 200px;
margin: 0;
}
.el-carousel__item:nth-child(2n) {
background-color: #99a9bf;
}
.el-carousel__item:nth-child(2n+1) {
background-color: #d3dce6;
}
</style>
在vue中使用 element的carousel走马灯组件、用键盘左右按键控制轮播切换
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...