vue卡片式點(diǎn)擊切換圖片組件使用詳解
本文實(shí)例為大家分享了vue卡片式點(diǎn)擊切換圖片組件,供大家參考,具體內(nèi)容如下
因?yàn)楣緲I(yè)務(wù)的問題,最近在寫vue項(xiàng)目,有了一個(gè)卡片圖片的點(diǎn)擊的需求,自己又不想寫動畫效果,就偷個(gè)懶,采用vue是以數(shù)據(jù)驅(qū)動的原理,寫了一個(gè)不太完整的vue組件,為了簡單,就直接上代碼吧
全部代碼
未進(jìn)行props傳參設(shè)置,以后完善(簡單最好嘛)
<template>
<!--
*以數(shù)據(jù)驅(qū)動的card式展示圖片(無動畫效果)
* -->
<div class="cardBanner">
<ul>
<li v-for="(item,index) in cardData" :key="index">
<a href="#">
<img :src="item.src" alt="">
<p>這圖片的描述{{item.order}}</p>
</a>
</li>
<div class="arrow-left" @click="toggleFun(-1)"><</div>
<div class="arrow-right" @click="toggleFun(1)">></div>
</ul>
</div>
</template>
<script>
export default {
data(){
return {
cardData: [
{id:1,src:require('../assets/images/banner.jpg'),},
{id:2,src:require('../assets/images/text.jpg')},
{id:3,src:require('../assets/images/組6@2x.png')},
{id:4,src:require('../assets/images/text.jpg')},
{id:5,src:require('../assets/images/banner.jpg')}
]
}
},
methods: {
//通過函數(shù)改變數(shù)據(jù)從而達(dá)到視圖的改變
toggleFun(p){
this.cardData = this.cardData.map((item,index,array) => {
if(index===array.length-1&&p===1){
item = array[0]
}
else if(index===0&&p===-1){
item = array[array.length-1];
}else{
item = array[index+p];
}
return item;
})
}
}
}
</script>
<style scoped>
.cardBanner{
padding: 10px 30px;
background-color: #fff;
border: 1px solid #ccc;
position: relative;
}
.cardBanner ul{
display: flex;
overflow: scroll; /*設(shè)置滾動條*/
}
.cardBanner ul::-webkit-scrollbar{ /*隱藏滾動條*/
display: none;
}
.cardBanner ul>li{ //高能部分,flex不太好解釋
width: 31.33333%;
flex-shrink: 0;
padding-left: 3%;
text-align: center;
}
.cardBanner ul>li:first-child{
padding-left: 0;
}
.cardBanner ul>li a{
display: block;
width: 100%;
height: 100%;
}
.cardBanner ul>li img{
width: 100%;
height: 170px;
border-radius: 5px;
}
.cardBanner ul>li p{
margin: 0;
}
[class^='arrow']{
font-size: 30px;
transform: scaleX(.7);
color: #ddd;
}
.arrow-left{
position: absolute;
left: 5px;
top: 50%;
margin-top: -17px;
}
.arrow-right{
position: absolute;
right: 5px;
top: 50%;
margin-top: -17px;
}
</style>
效果展示

稍微講一下,采用flex!!!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
uniapp使用scroll-view下拉刷新無法取消的坑及解決
這篇文章主要介紹了uniapp使用scroll-view下拉刷新無法取消的坑及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Element?Table行的動態(tài)合并及數(shù)據(jù)編輯示例
這篇文章主要為大家介紹了Element?Table行的動態(tài)合并及數(shù)據(jù)編輯示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
vue路由history模式頁面刷新404解決方法Koa?Express
這篇文章主要為大家介紹了vue路由history模式頁面刷新404解決方法(Koa?Express)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Vue.js 點(diǎn)擊按鈕顯示/隱藏內(nèi)容的實(shí)例代碼
下面小編就為大家分享一篇Vue.js 點(diǎn)擊按鈕顯示/隱藏內(nèi)容的實(shí)例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
在vue中獲取wangeditor的html和text的操作
這篇文章主要介紹了在vue中獲取wangeditor的html和text的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
vue中使用vee-validator完成表單校驗(yàn)方案
vee-validator是一種基于vue模板的輕量級校驗(yàn)框架。本文主要討論的是vee-validator校驗(yàn)方案,感興趣的朋友跟隨小編一起看看吧2019-11-11
vue使用swiper實(shí)現(xiàn)中間大兩邊小的輪播圖效果
這篇文章主要介紹了vue使用swiper實(shí)現(xiàn)中間大兩邊小的輪播圖效果,本文分步驟通過實(shí)例代碼講解的非常詳細(xì),需要的朋友可以參考下2019-11-11

