本文实例讲述了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实现选项卡效果的代码实例
# 选项卡
# 给我
# 周杰伦
# 江南
# 这样做
# 断桥
# 之王
# 首歌
# 很忙
# 风吹过
# 千百度
# 进阶
# 夏天
# 相关内容
# 是由
# 也能
# 遍历
# 感兴趣
# 给大家
# 更多关于
相关文章:
python的本地网站制作,如何创建本地站点?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
c++怎么用jemalloc c++替换默认内存分配器【性能】
建站之星展会模版如何一键下载生成?
内部网站制作流程,如何建立公司内部网站?
如何快速搭建FTP站点实现文件共享?
孙琪峥织梦建站教程如何优化数据库安全?
家庭服务器如何搭建个人网站?
学校建站服务器如何选型才能满足性能需求?
个人网站制作流程图片大全,个人网站如何注销?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
如何在阿里云部署织梦网站?
如何选择域名并搭建高效网站?
建站之家VIP精选网站模板与SEO优化教程整合指南
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何通过老薛主机一键快速建站?
如何在搬瓦工VPS快速搭建网站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
制作营销网站公司,淘特是干什么用的?
ppt制作免费网站有哪些,ppt模板免费下载网站?
如何快速重置建站主机并恢复默认配置?
如何用狗爹虚拟主机快速搭建网站?
如何在景安云服务器上绑定域名并配置虚拟主机?
贸易公司网站制作流程,出口贸易网站设计怎么做?
济南专业网站制作公司,济南信息工程学校怎么样?
TestNG的testng.xml配置文件怎么写
如何配置支付宝与微信支付功能?
无锡营销型网站制作公司,无锡网选车牌流程?
如何用免费手机建站系统零基础打造专业网站?
网站制作模板下载什么软件,ppt模板免费下载网站?
如何通过云梦建站系统实现SEO快速优化?
香港服务器租用每月最低只需15元?
,网站推广常用方法?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
如何通过智能用户系统一键生成高效建站方案?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
如何高效利用亚马逊云主机搭建企业网站?
建站之星如何实现PC+手机+微信网站五合一建站?
如何快速搭建高效WAP手机网站?
IOS倒计时设置UIButton标题title的抖动问题
5种Android数据存储方式汇总
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
建站之星代理费用多少?最新价格详情介绍
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
如何通过VPS搭建网站快速盈利?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
专业网站建设制作报价,网页设计制作要考什么证?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
*请认真填写需求信息,我们会在24小时内与您取得联系。