这篇文章主要介绍了AngularJS怎么实现tab选项卡,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
10年积累的成都网站制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有黑河免费网站建设让你可以放心的选择与我们合作。JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。
具体如下:
一、代码实现
<!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怎么实现tab选项卡”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站建设公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
名称栏目:AngularJS怎么实现tab选项卡-创新互联
网页URL:https://www.cdcxhl.com/article18/dgsggp.html
成都网站建设公司_创新互联,为您提供品牌网站制作、App开发、网站内链、响应式网站、电子商务、网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联