本文实例为大家分享了vue实现按钮切换图片的具体代码,供大家参考,具体内容如下
Tab选项卡
实现步骤
1、实现静态UI效果
用传统的方式实现标签结构和样式
2、基于数据重构UI效果
将静态的结构和样式重构为基于Vue模板语法的形式
处理事件绑定和js控制逻辑
设置基本样式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
{ 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 ; } |
实现静态布局
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
< 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 > |
实现具体功能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<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> |
最终效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_50001396/article/details/112790922