vue实现按钮切换图片


Posted in Vue.js onJanuary 20, 2021

本文实例为大家分享了vue实现按钮切换图片的具体代码,供大家参考,具体内容如下

Tab选项卡

vue实现按钮切换图片

实现步骤

1、实现静态UI效果

用传统的方式实现标签结构和样式

2、基于数据重构UI效果

将静态的结构和样式重构为基于Vue模板语法的形式
处理事件绑定和js控制逻辑

vue实现按钮切换图片

设置基本样式

{
 overflow: hidden;
 padding: 0;
 margin: 0;
 }

 .tab ul li {
 box-sizing: border-box;
 padding: 0;
 float: left;
 width: 100px;
 height: 45px;
 line-height: 45px;
 list-style: none;
 text-align: center;
 border-top: 1px solid #ccc;
 border-right: 1px solid #ccc;
 cursor: pointer;
 }

 .tab ul li.active {
 background-color: orange;
 }

 .tab ul li:first-child {
 border-left: 1px solid blue;
 }

 .tab div {
 width: 500px;
 height: 300px;
 display: none;
 text-align: center;
 font-size: 30px;
 line-height: 300px;
 border: 1px solid blue;
 border-top: 0px;
 }

 .tab div.current {
 display: block;
}

实现静态布局

<div id="app">
 <button v-on:click="handla">向前切换</button>
 <button v-on:click="handlc">单向循环切换</button>
 <button v-on:click="handle">向后切换</button>

 <div class="tab">
 <ul>
 <li :class="currentIndex==index?'active':''" :key="item.id" v-for="(item,index) in list">{{item.title}}
 </li>
 </ul>
 <div :class="currentIndex==index?'current':''" :key="item.id" v-for="(item,index) in list">
 <img :src="item.path">
 </div>
 </div>

</div>

实现具体功能

<script type="text/javascript" src="../js/vue.js"></script>
 <script type="text/javascript">
 /* */
 var vm = new Vue({
 el: '#app',
 data: {
 currentIndex: 0,
 list: [{
  id: 1,
  title: 'apple',
  path: 'img/apple.png'
 }, {
  id: 2,
  title: 'orange',
  path: 'img/orange.png'
 }, {
  id: 3,
  title: 'lemon',
  path: 'img/lemon.png'
 }]
 },
 methods: {
 handle: function () {
  if (this.currentIndex < 2) {
  this.currentIndex = this.currentIndex + 1
  }
 },

 handla: function () {
  if (this.currentIndex > 0) {
  this.currentIndex = this.currentIndex - 1
  }

 },
 handlc: function () {
  this.currentIndex = this.currentIndex + 1
  if (this.currentIndex > 2) {
  this.currentIndex = 0
  }

 },

 }
 })
</script>

最终效果

vue实现按钮切换图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 Vue.js
Vue中computed和watch有哪些区别
Dec 19 Vue.js
为什么推荐使用JSX开发Vue3
Dec 28 Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
基于vue的video播放器的实现示例
Feb 19 Vue.js
Vue实现todo应用的示例
Feb 20 Vue.js
vue实现移动端div拖动效果
Mar 03 Vue.js
vue选项卡切换的实现案例
Apr 11 Vue.js
如何vue使用el-table遍历循环表头和表体数据
Apr 26 Vue.js
Vue实现图书管理案例
Jan 20 #Vue.js
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 #Vue.js
vue二选一tab栏切换新做法实现
Jan 19 #Vue.js
vue-resource 拦截器interceptors使用详解
Jan 18 #Vue.js
vue element el-transfer增加拖拽功能
Jan 15 #Vue.js
Vue实现多页签组件
Jan 14 #Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 #Vue.js
You might like
做个自己站内搜索引擎
2006/10/09 PHP
php过滤敏感词的示例
2014/03/31 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
JavaScript事件列表解说
2006/12/22 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
jQuery中的select操作详解
2016/11/29 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
Python 开发Activex组件方法
2009/11/08 Python
python实现将文本转换成语音的方法
2015/05/28 Python
Python模拟百度登录实例详解
2016/01/20 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
彻底理解Python中的yield关键字
2019/04/01 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
Python连接字符串过程详解
2020/01/06 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
客服实习的个人自我鉴定
2013/10/20 职场文书
测控技术自荐信
2014/06/05 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js