本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持前端开发者。
» 本文来自:前端开发者 » 《使用Vue制作滑动标签_白江_前端开发者》
» 本文链接地址:https://www.rokub.com/70423.html
» 您也可以订阅本站:https://www.rokub.com
评论前必须登录!
注册