本文实例为大家分享了vue制作滑动标签的具体代码,供大家参考,具体内容如下
第一步:写出html结构
先写一个你需要展示的静态效果,写好后再改为vue动态生成,代码如下:
<div id="app1" class="wrap"> <ul class="tabs"> <li class="active"><a href="javascript:" >标签1</a></li> <li><a href="javascript:" >标签2</a></li> <li><a href="javascript:" >标签3</a></li> </ul> <div class="tabs-con"> <p>内容1</p> </div> <div class="tabs-con"> <p>内容2</p> </div> <div class="tabs-con"> <p>内容3</p> </div> </div>
第二步:写出css样式
为你的结构写一个样式,代码如下:
<style type="text/css">
* {
margin: 0;
padding: 0;
border-style: none;
}
ul,ol {
list-style: none;
}
a {
text-decoration: none;
color: #777;
}
body {
font: normal 14px/1.6 Helvetica,"Microsoft YaHei";
color: #777;
background-color: #f5f5f5;
}
.wrap {
width: 600px;
margin: 20px auto 0;
}
.tabs {
overflow: auto;
}
.tabs li {
float: left;
}
.tabs li a {
display: block;
padding: 10px 15px;
color: #bbb;
}
.tabs li.active {
background-color: #fff;
}
.tabs li.active a {
color: #333;
}
.tabs-con {
padding: 15px;
background-color: #fff;
}
</style>
第三步:写出js代码
这一步是关键,要用到vue的内容了
var app1 = new vue ({
el: '#app1',
data: {
//标签列表的数据,是数组,数组项是对象格式
tabs: [
{name:'标签1'},
{name:'标签2'},
{name:'标签3'}
],
num: 0
},
//方法,建立自定义函数,对应点击时间onclick
methods: {
tabsSwitch(index) {
//用到的变量要加上this,表示使用上面构造函数app1的对象num
this.num = index;
}
}
})
第四步:更改上边的html结构
<div id="app1" class="wrap"> <ul class="tabs"> <li v-for="(tab,index) in tabs" :class="{active:num===index}" @click="tabsSwitch(index)"><a href="javascript:">{{tab.name}}</a></li> </ul> <div class="tabs-con" v-show="num===0"> <p>内容1</p> </div> <div class="tabs-con" v-show="num===1"> <p>内容2</p> </div> <div class="tabs-con" v-show="num===2"> <p>内容3</p> </div> </div>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持前端开发者。
评论前必须登录!
注册