网络编程
位置:首页>> 网络编程>> JavaScript>> vue实现选项卡及选项卡切换效果

vue实现选项卡及选项卡切换效果

作者:摄影师夏尔  发布时间:2024-05-08 09:33:17 

标签:vue,选项卡,切换

这里不跟大家再去把Vue文档上的一些指令用法或者基础知识再复述一遍,既然是从入门到实战,我直接将平时项目中需要实现的一些效果拆分成模块。你们遇到了相关的指令或者不知道怎么用的方法自己对着文档去查,再回过头来看我的实现代码。记住,通读Vue文档真的很重要,很重要!

这里的Vue以单文件的形式引入,另外代码在实现上会一步步的进行优化,客官不要着急!

下面是一个样式稍微丑陋,但功能OK的选项卡。


<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8" />  
 <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">  
 <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,width=device-width">
 <meta name="apple-mobile-web-app-title" content="Vue选项卡">
 <title>Vue实现选项卡</title>
 <script type="text/javascript" src="../js/vue.js"></script>
</head>
<style>
 * {
  padding: 0;
  margin: 0;
 }
 .box {
  width: 800px;
  height: 200px;
  margin: 0 auto;
  border: 1px solid #000;
 }
 .tabs li {
  float: left;
  margin-right: 8px;
  list-style: none;
 }
 .tabs .tab-link {
  display: block;
  width: 250px;
  height: 49px;
  text-align: center;
  line-height: 49px;
  background-color: #5597B4;
  color: #fff;
  text-decoration: none;
 }
 .tabs .tab-link.active {
  height: 47px;
  border-bottom: 2px solid #E35885;
  transition: .3s;
 }
 .cards {
  float: left;
 }
 .cards .tab-card {
  display: none;
 }
 .clearfix:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
 }
 .clearfix {
  zoom: 1;
 }
</style>
<body>
 <div id="app" class="box">
  <ul class="tabs clearfix">
   <li v-for="(tab,index) in tabsName">
    <a href="#" rel="external nofollow" class="tab-link" @click="tabsSwitch(index)" v-bind:class="{active:tab.isActive}">{{tab.name}}</a>
   </li>
  </ul>
  <div class="cards">
   <div class="tab-card" style="display: block;">这里是HTML教程</div>
   <div class="tab-card">欢迎来到CSS模块</div>
   <div class="tab-card">嗨,这里是Vue</div>
  </div>
 </div>
</body>
<script>
 var app = new Vue({
  el: "#app",
  data: {
   tabsName: [{
    name: "HTML",
    isActive: true
   }, {
    name: "CSS",
    isActive: false
   }, {
    name: "Vue",
    isActive: false
   }],
   active: false
  },
  methods: {
   tabsSwitch: function(tabIndex) {
    var tabCardCollection = document.querySelectorAll(".tab-card"),
     len = tabCardCollection.length;
    for(var i = 0; i < len; i++) {
     tabCardCollection[i].style.display = "none";
     this.tabsName[i].isActive = false;
    }
    this.tabsName[tabIndex].isActive = true;
    tabCardCollection[tabIndex].style.display = "block";
   }
  }
 })
</script>
</html>

第一代选项卡的实现就先这样子,后面再改进。上面是代码,下面是效果图!Vue我也只是刚刚学入门吧,做了几个项目了,有什么问题我们可以一起探讨,一起进步,欢迎私信我!

vue实现选项卡及选项卡切换效果

Vue实现选项卡切换,具体代码如下所示:


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>选项卡</title>
<script src="../js/vue.js"></script>
<style>
 li{
  list-style: none;
  float: left;
  margin-right: 20px;
 }
</style>
</head>
<body>
<div class="app">
 <ul>
  <li v-for="(item,index) in list" @click="tab(index)">{{item.tab}}
   <div v-show="item.show">
    {{item.title}}
   </div>
  </li>
 </ul>
</div>
<script>
 let obj=[
  {"tab":"选项一","show":true,"title":"1111"},
  {"tab":"选项二","show":false,"title":"2222"},
  {"tab":"选项三","show":false,"title":"3333"}
 ];
 var vm=new Vue({
  el:".app",
  data:{
   list:obj
  },
  methods:{
   tab:function(index){
    for(var i=0;i<this.list.length;i++){
     this.list[i].show=false;
     if(i==index){
      this.list[index].show=true;
     }
    }
   }
  }
 })
</script>
</body>
</html>

总结

以上所述是小编给大家介绍的vue实现选项卡及选项卡切换效果网站的支持!

来源:https://blog.csdn.net/qq_16371909/article/details/77511411

0
投稿

猜你喜欢

  • 本文实例讲述了PHP实现无限极分类的两种方式。分享给大家供大家参考,具体如下:面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表
  • 列名用了中文的缘故,设置pandas的参数即可,代码如下: import pandas as pd #这两个参数的默认设置都是False p
  • 实现效果通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片。效果如下:目录结构实现示例#
  • 操作说明:选择多个PDF文件,执行完合并后会生成一个新的PDF文件,这个新的PDF文件包含所有源PDF文件的页面。将相关的三方模块导入到代码
  • Python产生一个数值范围内的不重复的随机数,可以使用random模块中的random.sample函数,其用法如下:import ran
  • 总结了部分所学、所听、所看、所问的一些CSS写作经验,书写高效的CSS - 漫谈CSS的渲染效率,它们与渲染效率及所占用
  • csscompressor 库使用在 Python 中可以使用多种方法来压缩 CSS 文件。其中一种流行的方法是使用 csscompress
  • 网页中使用flash可以增强页面的动态交互效果,特别是用flash来制作广告,效果更好。经常使用flash的人,可能就碰到了flash会遮住
  • 最近对list设计感兴趣,今天说的是list视图方式的设计。感觉有些细节非常有意思,拿出来跟大家讨论。首先我们来看下windows下文件夹管
  • 本章是前一章的延续,我们使用RSA算法逐步实现加密,并详细讨论它.用于解密密文的函数是as跟随 :def decrypt(ciph
  • 1、元旦之前受赵晨之邀作为讨论嘉宾参加了ACM组织的“人与信息社会巡讲”。2、去之前赵晨发给了我大致的讨论提纲。咣当了好几下~说实话,我是硬
  • 起因 前几天去国图拍了一本书,一本心理学方面的书,也许你问我为什么不去买一本,或者去网上找pdf。 其实吧,关于心理学方面的书可以说在市面上
  • 花瓣图片的加载使用了延迟加载的技术,源代码只能下载20多张图片,修改后基本能下载所有的了,只是速度有点慢,后面再优化下import urll
  • 乱码原因:源码文件的编码格式为utf-8,但是window的本地默认编码是gbk,所以在控制台直接打印utf-8的字符串当然是乱码了!解决方
  • 一、原型模式原型是相对于复制、克隆而言的,但是不同于模板,模板创造出的东西是一模一样,而原型创造出的东西是允许存在差异化和个性化的。原型模式
  • 初学初用,随手记录以当作笔记使用,会慢慢再进行补充添加,错误之处烦请指正。(1)运行本地文件,在代码不加载的情况下可以直接显示结果% run
  • 作用:可以清空此文件所在的web站点所有文件,将文件内容清零.运行完毕所有文件大小都变成0字节.此代码本人原创,转载请注明转自本站,谢谢合作
  • 简单版本学生信息管理系统,用python基础语法实现,基于python 3.6容错率很高的代码,做了很多异常处理功能,出错也不会丢失信息启动
  • mysql 创建的优化就是加索引,可是有时候会遇到加索引都没法达到想要的效果的情况,加上了所以,却还是搜索的全数据,原因是sqlEXPLAI
  • 许多人利用Session变量来开发ASP(Active Server Pages)。这些变量与任何编程语言中通用的变量非常相似,并且具有和通
手机版 网络编程 asp之家 www.aspxhome.com