用Vue写卡片式点击切换图片效果的代码是什么
Admin 2022-06-15 群英技术资讯 384 次浏览
本文实例为大家分享了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=""> <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: { //通过函数改变数据从而达到视图的改变 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; /*设置滚动条*/ } .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!!!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Three.js创建文字初体验,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
这篇文章主要介绍了JavaScript事件流与委托,文章主要围绕JavaScript事件流与委托展开详细内容,需要的朋友可以参考一下,希望对你有所帮助
今天我们来了解websocket封装的内容,下文给大家分享了websocket封装过程,及引入和使用,需要的朋友可以参考,下面我们一起来学习一下吧。
three.js镜头追踪移动的实现难点有哪些?在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
node的异步机制是基于“事件”的,所有的I/O、网络通信、数据库查询都以非阻塞的方式执行,返回结果由事件循环来处理。Node在同一时刻只会处理一个事件,完成后立即进入事件循环检查后面事件。这样CPU和内存在同一时间集中处理一件事,同时尽量让耗时的I/O等操作并行执行。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008