flex 制作导航栏菜单

        做的时候,百度了好多资料,方法多的很,综合分析了一下,找了一种针对我们项目的最简洁,最合适的实现方法。

        想要的最终效果是菜单放在界面的最上方,单击每一个最终分支(也就是到叶节点 的时候 ),加载相应的moudle文件来切换不同的功能界面。

===================================================================================================

       第一步,建立数据源,为菜单提供数据,用的是XMLListCollection,(相比较于array,arraylist,xml,xmllist,像XMLListCollection和ArrayListCollection这样级别较高的对象能够实现更多的功能,在不影响效率的前提下,我想还是可以作为首选的数据源的)

            是写在了  <fx:Declarations>里了,因为是非可视的元素:

      <mx:XMLListCollection id="myMenuData">
   <fx:XMLList >
    <manuitem label="文件">
     <subitem label="重新登陆" data="meRelogin"></subitem>
     <subitem label="退出系统"></subitem>
    </manuitem>
    <manuitem label="编辑">
     <subitem label="拷贝"></subitem>
     <subitem label="剪切"></subitem>
     <subitem label="粘贴"></subitem>
    </manuitem>

[

其他菜单省略。。。。。。

写了一个data属性作为函数处理的标识,用来判断点击的菜单项

插入分隔线的代码<subitem label="" type="separator"></subitem>

]
    </fx:XMLList>
   
  </mx:XMLListCollection>

=========================================================================================

第二步:

<mx:MenuBar id="mainmanu" dataProvider="{myMenuData}" change="menuHandler(event)"  labelField="@label" horizontalCenter="0"  width="100%"  top="0" chromeColor="#4596F9">   
  </mx:MenuBar>

dataProvider属性连接数据源

change事件关联对菜单点击事件的处理函数

===========================================================================================================

第三步:点击事件的处理函数

//菜单处理函数
     private function menuHandler(event:MenuEvent):void
   {
      menuChange(event.item.@data);
   } 

public function menuChange(data:String):void
   {
    switch(data)
    {
     case 'meRelogin':      
      this.currentState="login";
      break;
     case 'meDeptSet':      
      this.mainModLd.url="ODdeptSet.swf";
      break;

      。。。。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
导航栏制作需要使用HTML、CSS和JavaScript等前端技术,下面是一个简单的制作导航栏的步骤: 1. 创建HTML结构:在HTML文件中创建导航栏的基本结构,包括导航栏的容器、logo、菜单项等。 ``` <nav class="navbar"> <div class="logo"> <a href="#">Logo</a> </div> <ul class="menu"> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Services</a></li> <li><a href="#">Contact</a></li> </ul> </nav> ``` 2. 添加CSS样式:使用CSS样式美化导航栏的外观,包括导航栏的背景、字体、颜色等。 ``` .navbar { background-color: #FFF; height: 80px; display: flex; align-items: center; justify-content: space-between; padding: 0 50px; } .logo a { font-size: 24px; color: #333; text-decoration: none; } .menu { display: flex; list-style: none; } .menu li { margin-right: 20px; } .menu li a { color: #333; text-decoration: none; font-size: 18px; } ``` 3. 添加交互效果:使用JavaScript为导航栏添加交互效果,包括显示隐藏菜单项、鼠标悬浮效果等。 ``` const menu = document.querySelector('.menu'); const navbar = document.querySelector('.navbar'); menu.addEventListener('click', () => { navbar.classList.toggle('active'); }); menu.addEventListener('mouseover', () => { menu.classList.add('hover'); }); menu.addEventListener('mouseout', () => { menu.classList.remove('hover'); }); ``` 以上是一个简单的制作导航栏的步骤,具体的实现过程还需要根据实际情况进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值