- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > JavaScript >
- vue卡片式點(diǎn)擊切換圖片組件使用詳解
本文實(shí)例為大家分享了vue卡片式點(diǎn)擊切換圖片組件,供大家參考,具體內容如下
因為公司業(yè)務(wù)的問(wèn)題,最近在寫(xiě)vue項目,有了一個(gè)卡片圖片的點(diǎn)擊的需求,自己又不想寫(xiě)動(dòng)畫(huà)效果,就偷個(gè)懶,采用vue是以數據驅動(dòng)的原理,寫(xiě)了一個(gè)不太完整的vue組件,為了簡(jiǎn)單,就直接上代碼吧
全部代碼
未進(jìn)行props傳參設置,以后完善(簡(jiǎn)單最好嘛)
<template> <!-- *以數據驅動(dòng)的card式展示圖片(無(wú)動(dòng)畫(huà)效果) * --> <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: { //通過(guò)函數改變數據從而達到視圖的改變 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; /*設置滾動(dòng)條*/ } .cardBanner ul::-webkit-scrollbar{ /*隱藏滾動(dòng)條*/ 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!!!
以上就是本文的全部?jì)热?,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站