AngularJS实现tab选项卡的方法详解
发布时间 - 2026-01-11 02:11:42 点击率:次本文实例讲述了AngularJS实现tab选项卡的方法。分享给大家供大家参考,具体如下:

一、代码实现
<!DOCTYPE html>
<html ng-app='app'>
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{
list-style: none;
margin: 0;
padding: 0;
}
.TabNav{
height: 131px;
width: 450px;
position: relative;
margin-left: auto;
margin-right: auto;
margin-top: 100px;
}
.TabNav ul li{
float: left;
background: -webkit-gradient(linear,left top,left bottom, from(#fefefe), to(#ededed));
border: 1px solid #ccc;
padding: 5px 0;
width: 100px;
text-align: center;
margin-left: -1px;
position: relative;
cursor: pointer;
}
.TabCon{
position: absolute;
left: -1px;
top: 30px;
border: 1px solid #ccc;
border-top: none;
width: 403px;
height: 100px;
}
.TabNav ul li.active{
background: #FFFFFF;
border-bottom: none;
}
</style>
<script src="js/angular.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="TabNav">
<ul ng-init='activeTab=1'>
<li ng-class='{active:activeTab==1}' ng-click='activeTab=1'>许嵩</li>
<li ng-class='{active:activeTab==2}' ng-click='activeTab=2'>周杰伦</li>
<li ng-class='{active:activeTab==3}' ng-click='activeTab=3'>林俊杰</li>
<li ng-class='{active:activeTab==4}' ng-click='activeTab=4'>陈奕迅</li>
</ul>
<div class="TabCon">
<div ng-show='activeTab==1'>断桥残雪、千百度、幻听、想象之中</div>
<div ng-show='activeTab==2'>红尘客栈、牛仔很忙、给我一首歌的时间、听妈妈的话</div>
<div ng-show='activeTab==3'>被风吹过的夏天、江南、一千年以后</div>
<div ng-show='activeTab==4'>十年、K歌之王、浮夸</div>
</div>
</div>
</body>
<script type="text/javascript">
var app=angular.module('app',[]);
app.controller('tabcontroller',function($scope){
var vm=$scope.vm;
});
</script>
</html>
二、效果预览
三、实现原理
选项卡的内容是显示还是隐藏是由activeTab的值决定的,而这个值是通过选项卡上面的ng-click指令设置的,当对应选项卡的内容显示的时候,给点击的按钮添加样式,这样做虽然也能实现选项卡的内容,但是这样做的的弊端是,选项卡的内容是固定的,不好去改变,所以接下来我们将上面的代码改成下面这种形式
四、改版
<!DOCTYPE html>
<html ng-app='app'>
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{
list-style: none;
margin: 0;
padding: 0;
}
.TabNav{
height: 131px;
position: relative;
margin-left: 100px;
margin-top: 100px;
}
.TabNav ul li{
float: left;
background: -webkit-gradient(linear,left top,left bottom, from(#fefefe), to(#ededed));
border: 1px solid #ccc;
padding: 5px 0;
width: 100px;
text-align: center;
margin-left: -1px;
position: relative;
cursor: pointer;
}
.TabCon{
position: absolute;
left: -1px;
top: 30px;
border: 1px solid #ccc;
border-top: none;
width: 403px;
height: 100px;
}
.TabNav ul li.active{
background: #FFFFFF;
border-bottom: none;
}
</style>
<script src="js/angular.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="TabNav" ng-controller='tabcontroller'>
<ul ng-init='selected=0'>
<li ng-class='{active:selected==$index}' ng-click='show($index)' ng-repeat='item in vm'>{{item.list}}</li>
</ul>
<div class="TabCon">
<div ng-show='selected==$index' ng-repeat='item in vm'>{{item.con}}</div>
</div>
</div>
</body>
<script type="text/javascript">
var app=angular.module('app',[]);
app.controller('tabcontroller',function($scope){
$scope.vm=[
{"list":"许嵩","con":"断桥残雪、千百度、幻听、想象之中"},
{"list":"周杰伦","con":"红尘客栈、牛仔很忙、给我一首歌的时间、听妈妈的话"},
{"list":"林俊杰","con":"被风吹过的夏天、江南、一千年以后"},
{"list":"陈奕迅","con":"十年、K歌之王、浮夸"}
];
var selected=$scope.selected;
$scope.show=function(index){
$scope.selected=index;
};
});
</script>
</html>
说明:vm这个数组里面是我们自己定义的一些假数据(这个数据实际上是可以从后台获取的),然后我们通过ng-repeat指令循环遍历出vm里面的数据,插入到页面中,$index是每个内容对象的索引值
更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》
希望本文所述对大家AngularJS程序设计有所帮助。
# AngularJS
# tab选项卡
# js实现简单选项卡功能
# vuejs实现标签选项卡动态更改css样式的方法
# AngularJS标签页tab选项卡切换功能经典实例详解
# js实现Tab选项卡切换效果
# 基于JS实现网页中的选项卡(两种方法)
# js自定义Tab选项卡效果
# Vue.js tab实现选项卡切换
# 使用vue.js写一个tab选项卡效果
# js鼠标经过tab选项卡时实现切换延迟
# JS实现选项卡效果的代码实例
# 选项卡
# 给我
# 周杰伦
# 江南
# 这样做
# 断桥
# 之王
# 首歌
# 很忙
# 风吹过
# 千百度
# 进阶
# 夏天
# 相关内容
# 是由
# 也能
# 遍历
# 感兴趣
# 给大家
# 更多关于
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速生成ASP一键建站模板并优化安全性?
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何在宝塔面板创建新站点?
Laravel如何配置和使用缓存?(Redis代码示例)
如何快速查询网站的真实建站时间?
Laravel如何使用Sanctum进行API认证?(SPA实战)
如何用狗爹虚拟主机快速搭建网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
北京企业网站设计制作公司,北京铁路集团官方网站?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
java获取注册ip实例
如何在自有机房高效搭建专业网站?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何用低价快速搭建高质量网站?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Swift开发中switch语句值绑定模式
企业网站制作这些问题要关注
Laravel如何使用withoutEvents方法临时禁用模型事件
如何构建满足综合性能需求的优质建站方案?
linux top下的 minerd 木马清除方法
JavaScript常见的五种数组去重的方式
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Laravel怎么连接多个数据库_Laravel多数据库连接配置
Laravel PHP版本要求一览_Laravel各版本环境要求对照
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
Swift中switch语句区间和元组模式匹配
如何在IIS中新建站点并配置端口与IP地址?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Laravel如何实现用户密码重置功能?(完整流程代码)
网站制作免费,什么网站能看正片电影?
Laravel如何自定义分页视图?(Pagination示例)
Laravel如何配置Horizon来管理队列?(安装和使用)
微信公众帐号开发教程之图文消息全攻略
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
如何正确选择百度移动适配建站域名?
,交易猫的商品怎么发布到网站上去?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
简单实现jsp分页
Laravel怎么为数据库表字段添加索引以优化查询
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
如何在Windows虚拟主机上快速搭建网站?
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
上一篇:ubuntu驱动对系统影响大吗
上一篇:ubuntu驱动对系统影响大吗

