广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >angular实现导航菜单切换
  • 706
分享到

angular实现导航菜单切换

2024-04-02 19:04:59 706人浏览 八月长安
摘要

本文实例为大家分享了angular实现导航菜单切换的具体代码,供大家参考,具体内容如下 js部分:  $scope.navArr=[{         task:{    

本文实例为大家分享了angular实现导航菜单切换的具体代码,供大家参考,具体内容如下

js部分: 

$scope.navArr=[{
        task:{
            title: "我的任务",
            showAdd: true,
            data:[
                {
                    title:'我的设计院',
                    id:1,
                    hasChild:false,
                    active:true,
                },
                {
                    title:'我加入的设计院',
                    id:2,
                    hasChild:true,
                    active:false,
                    data:[
                        {title:"设计院1",active:true},
                        {title:"设计院2",active:false}
                    ]
                },
                {
                    title:'验证消息',
                    id:3,
                    hasChild:false,
                    active:false,
                },
                {
                    title:'我参与的设计院',
                    id:3,
                    hasChild:true,
                    active:false,
                    data:[
                        {title:"设计院3",active:true},
                        {title:"设计院4",active:false}
                    ]
                },
            ]
        }
        }];
    
    $scope.showItem=false;
    $scope.showId=null;
    //给菜单项添加事件
    $scope.changNavMenu=function(item,arr,hasChild){
        for(let i of arr){
            if(i==item){
                i.active=true;
                showNav(hasChild,i.id)
            }else{
                i.active=false; 
            }
        }
    }
    function showNav(hasChild,id){
        if($scope.showId!=id){
            $scope.showItem=false;
            $scope.showId=id;
        }
        if(hasChild){
            if($scope.showItem==false){
                $scope.showItem=true
            }else if($scope.showItem==true){
                $scope.showItem=false
            }
        }
    }
    // 给二级菜单添加点击事件
    $scope.changTwoNav=function(item,arr){
        for(let i of arr){
            if(i==item){
                i.active=true;
            }else{
                i.active=false; 
            }
        }
        event.stopPropagation();
    }

html片段:

<div class="two_level_box">
  <!-- title -->
  <p class="menu-title">{{navArr[0].task.title}}</p>
  <!-- add -->
  <div class="add-pro-btn" ng-if="navArr[0].task.showAdd">
    <span>+ 快速立项</span>
  </div>
  <!--一级菜单-->
  <ul class="navMenu">
    <li ng-click="changNavMenu(item,navArr[0].task.data,item.hasChild)" ng-class="{active:item.active}" ng-repeat="item in navArr[0].task.data">
      <a href=""><b ng-class="{b_active:showItem&&item.active}" ng-if="item.hasChild"></b> {{item.title}}</a>
      <ul class="subMenu closeSubMenu" ng-class="{true:'subMenu',false:'closeSubMenu'}[showItem&&item.active]">
        <li ng-if="item.hasChild" ng-class="{active:i.active&&item.active}" ng-click="changTwoNav(i,item.data)" ng-repeat="i in item.data">
            <a href="">{{i.title}}</a>
        </li>
      </ul>
    </li>
  </ul>
  </ul>
</div>

CSS:

.two_level_box{
  float:left;
  width: 139px;
  height: 100%;
  background: #fff;
}
.menu-title{
  margin:10px;
}
.add-pro-btn{
  cursor: pointer;
  margin:10px;
}
.add-pro-btn span{
  display: inline-block;
  width:100%;
  text-align: center;
  border:1.5px solid #EE6133;
  border-radius: 20px;
  padding:2px;
  color:#EE6133;
}
.navMenu>li>a{
  margin:8px 0;
  padding:10px;
}
.navMenu>li{
  margin:8px 0;
  padding:0;
}
.navMenu li a{
  color:#000;
}
.navMenu>.active>a{
  color:#EE6133;
}
.subMenu .active{
  background-color: #FACFC1;
  border-right:2px solid #EE6133;
}
.closeSubMenu{
  display: none;
}
.subMenu li{
  padding:5px 0;
  border-right:2px solid #fff;
}
.subMenu li a{
  padding-left:30px;
}
.navMenu b{
  display: inline-block;
  width:8px;
  height:0;
  border-left:5px solid #A9A9A9;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
}
.navMenu .b_active{
  border-top:5px solid #A9A9A9;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
}

实现效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: angular实现导航菜单切换

本文链接: https://www.lsjlt.com/news/143923.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • angular实现导航菜单切换
    本文实例为大家分享了angular实现导航菜单切换的具体代码,供大家参考,具体内容如下 js部分:  $scope.navArr=[{         task:{    ...
    99+
    2022-11-13
  • 纯CSS3如何实现单页切换导航菜单
    这篇文章主要为大家展示了“纯CSS3如何实现单页切换导航菜单”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“纯CSS3如何实现单页切换导航菜单”这篇文章吧。这是一...
    99+
    2022-10-19
  • vue2.0如何实现导航菜单切换效果
    这篇文章将为大家详细讲解有关vue2.0如何实现导航菜单切换效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下css*{   margin...
    99+
    2022-10-19
  • 怎么用vue实现导航菜单切换效果
    这篇文章主要介绍“怎么用vue实现导航菜单切换效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用vue实现导航菜单切换效果”文章能帮助大家解决问题。具体代码如下css*{  ...
    99+
    2023-07-04
  • css实现导航菜单
    随着互联网的快速发展,网页设计越来越重视用户体验。其中,导航菜单是网站设计中不可或缺的一部分。正确的导航菜单能够方便用户找到所需的信息,提高用户体验和网站访问率。然而,如何实现一个美观、易用的导航菜单呢?这就需要我们熟练掌握CSS技术了。本...
    99+
    2023-05-21
  • css如何实现导航切换
    这篇文章主要介绍了css如何实现导航切换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css导航切换效果图如下: 代码如下,复制即可使用:<!DOCTYPE&...
    99+
    2023-06-08
  • flutter实现底部导航栏切换
    本文实例为大家分享了flutter实现底部导航栏切换的具体代码,供大家参考,具体内容如下 思路:MaterialApp是提供了bottomnavigationbar的,可以使用,这个...
    99+
    2022-11-13
  • CSS怎么实现导航条菜单
    这篇文章主要介绍“CSS怎么实现导航条菜单”,在日常操作中,相信很多人在CSS怎么实现导航条菜单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS怎么实现导航条菜单”的疑惑...
    99+
    2022-10-19
  • js+css实现三级导航菜单
    本文实例为大家分享了js+css实现三级导航菜单的具体代码,供大家参考,具体内容如下 导航菜单hover事件用css实现相对容易,只需要将透明度更改即可,如果想要菜单有一个渐变的效果...
    99+
    2022-11-12
  • vue实现导航栏下拉菜单
    本文实例为大家分享了vue实现导航栏下拉菜单的具体代码,供大家参考,具体内容如下 先看效果: 下拉菜单铺满全屏 <div class="nav">...</div...
    99+
    2022-11-13
  • ASP.NET MVC实现树形导航菜单
    在需要处理很多分类以及导航的时候,树形导航菜单就比较适合。例如在汽车之家上: 页面主要分两部分,左边是导航菜单,右边显示对应的内容。现在,我们就在ASP.NET MVC 4 下临摹...
    99+
    2022-11-13
  • Vue使用element-ui实现菜单导航
    本文实例为大家分享了Vue使用element-ui实现菜单导航的具体代码,供大家参考,具体内容如下 效果图 目录截图 安装vue-router 和 element-ui vue-...
    99+
    2022-11-12
  • vue.js使用Element-ui实现导航菜单
    本文实例为大家分享了vue.js使用Element-ui中实现导航菜单的具体代码,供大家参考,具体内容如下 写这个的原因是因为当时写这个功能时候element只有效果,但是功能没有实...
    99+
    2022-11-12
  • HTLM5+css3如何实现简单的导航菜单
    这篇文章主要为大家展示了“HTLM5+css3如何实现简单的导航菜单”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTLM5+css3如何实现简单的导航菜单”这...
    99+
    2022-10-19
  • Angular实现二级导航栏
    本文实例为大家分享了Angular实现二级导航栏的具体代码,供大家参考,具体内容如下 1、将菜单放入数据库: 模拟放到该路径下:src/assets/json/header.json...
    99+
    2022-11-13
  • 利用CSS实现响应式导航菜单
    利用CSS实现响应式导航菜单随着移动设备的普及,越来越多的网站需要适应不同尺寸的屏幕来提供更好的用户体验。在移动设备上,由于屏幕空间有限,传统的水平导航菜单可能会在小屏幕上显示不全或导致用户需要不断滑动屏幕来查看完整的菜单项。因此,响应式导...
    99+
    2023-11-21
    响应式 导航 CSS
  • jQuery如何实现Nav导航菜单效果
    这篇文章给大家分享的是有关jQuery如何实现Nav导航菜单效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。自己写的一个简单的导航菜单,先看效果:鼠标悬浮时菜单项向上移动成蓝底...
    99+
    2022-10-19
  • CSS中导航条菜单的实现方法
    这篇文章将为大家详细讲解有关CSS中导航条菜单的实现方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   <!DOCTYPEhtmlPUBLIC"-/...
    99+
    2022-10-19
  • css如何实现常见的菜单导航
    这篇文章给大家分享的是有关css如何实现常见的菜单导航的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图:代码如下:<div class="demo2...
    99+
    2022-10-19
  • 怎么用css实现橙色导航菜单
    本篇内容介绍了“怎么用css实现橙色导航菜单”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!这是一款橙色风格...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作