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 】
相关推荐:
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
Laravel如何使用Collections进行数据处理?(实用方法示例)
香港服务器部署网站为何提示未备案?
大连网站制作公司哪家好一点,大连买房网站哪个好?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
做企业网站制作流程,企业网站制作基本流程有哪些?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
*服务器网站为何频现安全漏洞?
音响网站制作视频教程,隆霸音响官方网站?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
网站制作报价单模板图片,小松挖机官方网站报价?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
如何续费美橙建站之星域名及服务?
如何在Tomcat中配置并部署网站项目?
JS碰撞运动实现方法详解
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
如何用5美元大硬盘VPS安全高效搭建个人网站?
Laravel如何处理文件下载请求?(Response示例)
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
如何用JavaScript实现文本编辑器_光标和选区怎么处理
Swift中swift中的switch 语句
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
Linux后台任务运行方法_nohup与&使用技巧【技巧】
制作公司内部网站有哪些,内网如何建网站?
Android实现代码画虚线边框背景效果
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
如何用wdcp快速搭建高效网站?
如何获取上海专业网站定制建站电话?
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
如何快速选择适合个人网站的云服务器配置?
韩国服务器如何优化跨境访问实现高效连接?
详解Android——蓝牙技术 带你实现终端间数据传输
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
微信小程序 input输入框控件详解及实例(多种示例)
如何在橙子建站上传落地页?操作指南详解
Android滚轮选择时间控件使用详解
如何在阿里云高效完成企业建站全流程?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
上一篇:ubuntu驱动对系统影响大吗
上一篇:ubuntu驱动对系统影响大吗

