vue卡片式點選切換圖片元件使用詳解
阿新 • • 發佈:2021-06-27
本文例項為大家分享了vue卡片式點選切換圖片元件,供大家參考,具體內容如下
因為公司業務的問題,最近在寫vue專案,有了一個卡片圖片的點選的需求,自己又不想寫動畫效果,就偷個懶,採用vue是以資料驅動程式設計客棧的原理,寫了一個不太完整的vue元件,為了簡單,就直接上程式碼吧
全部程式碼
未進行props傳參設定,以後完善(簡單最好嘛)
<template> <!-- *以資料驅動的card式展示圖片(無動畫效果) * --> <div class="cardBanner"> <ul> <li v-for="(item,index) in cardData" :key="index"> <a href="#"> <img :src="item.src" alt="vue卡片式點選切換圖片元件使用詳解"> <p>這圖片的描述{{item.order}}</p> </a> </li> <div class="arrow-left" @click="toggleFun(-1)"><</div> <div class="arrow-right" @click="toggleFun(1)">></div> </ul> </dwww.cppcns.comiv> </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/組[email protected]')},{id:4,{id:5,src:require('../assets/images/banner.jpg')} ] } },methods: { //通過函式改變資料從而達到檢視的改變 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; positDckZmion: relative; } .cardBanner ul{ display: flex; overflow: scroll; /*設定滾動條*/ } .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)www.cppcns.com; color: #ddd; } .arrow-left{ positio程式設計客棧n: absolute; left: 5px; top: 50%; margin-top: -17px; } .arrow-right{ position: absolute; right: 5px; top: 50%; margin-top: -17px; } </style>
效果展示
稍微講一下,採用flex!!!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。