使用vue制作滑动标签

本文实例为大家分享了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>

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容