全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

AngularJS实现tab选项卡的方法详解

本文实例讲述了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实现选项卡效果的代码实例  # 选项卡  # 给我  # 周杰伦  # 江南  # 这样做  # 断桥  # 之王  # 首歌  # 很忙  # 风吹过  # 千百度  # 进阶  # 夏天  # 相关内容  # 是由  # 也能  # 遍历  # 感兴趣  # 给大家  # 更多关于 


相关文章: 简单实现Android文件上传  网站图片在线制作软件,怎么在图片上做链接?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  实现点击下箭头变上箭头来回切换的两种方法【推荐】  网站制作软件有哪些,制图软件有哪些?  宝塔新建站点为何无法访问?如何排查?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  如何正确选择百度移动适配建站域名?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  网站制作需要会哪些技术,建立一个网站要花费多少?  如何快速生成凡客建站的专业级图册?  ,网页ppt怎么弄成自己的ppt?  如何快速打造个性化非模板自助建站?  建站主机服务器选购指南:轻量应用与VPS配置解析  上海网站制作开发公司,上海买房比较好的网站有哪些?  如何在万网ECS上快速搭建专属网站?  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何用腾讯建站主机快速创建免费网站?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  定制建站策划方案_专业建站与网站建设方案一站式指南  建站之星导航如何优化提升用户体验?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  建站主机无法访问?如何排查域名与服务器问题  浅析上传头像示例及其注意事项  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  制作销售网站教学视频,销售网站有哪些?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何快速搭建响应式可视化网站?  C++如何使用std::optional?(处理可选值)  如何配置WinSCP新建站点的密钥验证步骤?  兔展官网 在线制作,怎样制作微信请帖?  学校建站服务器如何选型才能满足性能需求?  股票网站制作软件,网上股票怎么开户?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  在线制作视频网站免费,都有哪些好的动漫网站?  如何通过VPS搭建网站快速盈利?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  香港网站服务器数量如何影响SEO优化效果?  英语简历制作免费网站推荐,如何将简历翻译成英文?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何零成本快速生成个人自助网站?  如何使用Golang安装API文档生成工具_快速生成接口文档 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。