vue实现选项卡及选项卡切换效果
作者:摄影师夏尔 时间:2024-05-08 09:33:17
这里不跟大家再去把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实现选项卡切换,具体代码如下所示:
<!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
标签:vue,选项卡,切换
0
投稿
猜你喜欢
使用scrapy ImagesPipeline爬取图片资源的示例代码
2023-07-07 13:46:05
Python3学习urllib的使用方法示例
2021-09-23 00:08:08
Python基于jieba库进行简单分词及词云功能实现方法
2023-03-21 16:28:47
八条常见的CSS错误及修复方法
2010-04-08 16:54:00
用Vue封装导航栏组件
2023-07-02 16:51:46
Pytorch实现神经网络的分类方式
2021-02-26 05:20:47
JavaScript 判断日期格式是否正确的实现代码
2011-07-05 12:37:44
python 字典常用方法超详细梳理总结
2023-06-29 05:48:40
部署ASP.NET Core程序到Windows系统
2024-05-09 09:04:38
vue3的watch用法以及和vue2中watch的区别
2024-04-30 08:42:37
Go 中的空白标识符下划线
2024-04-29 13:04:42
TensorFlow实现模型评估
2023-10-15 22:36:51
利用numpy和pandas处理csv文件中的时间方法
2023-01-21 09:44:56
150行python代码实现贪吃蛇游戏
2021-07-15 06:43:20
Python办公自动化PPT批量转换操作
2023-11-07 16:54:20
对python中的pop函数和append函数详解
2021-10-09 09:11:32
haskell实现多线程服务器实例代码
2021-08-06 00:08:22
详解Python如何巧妙实现数学阶乘n!
2023-07-06 10:22:56
keras获得model中某一层的某一个Tensor的输出维度教程
2023-12-15 11:28:54
SQLServer按顺序执行多个脚本的方法(sqlcmd实用工具使用方法)
2024-01-24 15:23:05