今天使用中继器来实现一个简单的二级导航栏。这是一款折叠形可变导航,一般应用在系统页面左侧。它的最大优势是:1、菜单根据中继器配置的列表动态加载整个导航菜单(后期系统维护升级可快速增减菜单)。2、二级导航菜单数量不等也可以正常工作(突破局限)。
下面以制作一个简单的后台管理系统导航为例。
一、准备元件
1、将工作界面划分为三块:头部放一个动态面板,里面放系统logo和系统名称;左侧导航区域放一个动态面板,里面放一个中继器;右侧放一个内联框架(动态交互区域)。
2、双击中继器,进入中继器编辑模式。复制矩形元件并粘贴多三个,共四个按右对齐排列。如下图所示,一级导航(w:180px,h:30px),二级导航(w:160px,h:25px)。注意,各矩形件元件间的行高是10px,各矩形元件的填入文字及命名见图。
将所有二级导航选中,将它们设置为一个组合,命名为:组合_二级导航。这个组合用于点击一级导航进行交互时,实现组合整体展开/收缩(隐藏/显示)。
再将它们设置为一个选项组,命名为:选项组_二级导航。这个选项组用于点击二级导航进行交互时,实现只选中一个二级导航。注意:要将所有二级导航选中,右键选中:选项组,命名为:选项组_二级导航。不是将它们的组合设置为选项组。
同样,将一级导航也设置为一个选项组,命名为:选项组_一级导航。
二、设置元件样式
1、设置中继器的行距。即间距为10px。
2、设置一级导航和二级导航的鼠标悬停、选中的样式。一级导航和二级导航鼠标悬停样式设置,填充颜色为:FFCC99;一级导航选中样式设置,字色为:FFCCCC;二级导航选中样式设置,填充颜色为:FFCCCC;
三、设置导航数据。以后系统升级,增减导航就是通过设置导航数据来完成。
1、设置中继器样式数据。选中:中继器,选中:样式。
2、设置样式数据列名。双击第一列:Column0,重新命名为:FirstLevel。这一列对应的是一级导航。双击第二列,命名为:SecLevel1。重复操作,得到 SecLevel2、SecLevel3。SecLevel1、SecLevel2、SecLevel3分别对应的是二级导航1、二级导航2、二级导航3。
3、设置样式数据内容。这是导航显示的结构数据,或者说,导航将根据设置的样式数据内容来显示。以后系统升级,只要修改这个数据内容即可。根据需求,这里设置的数据如下:
四、设置交互
1、设置载入时事件。在载入元件时,根据显示样式数据设置的值作为导航文本。
选中:中继器,选中:交互。选择事件:载入时,选择:设置文本,选择:添加目标。选中:一级导航。点击 fx,弹出编辑框。如下图:
删除中间输入框中的:一级导航。点击:插入变量或函数,选中:Item.FirstLeve,得到结果。如下图:
同样,设置二级导航1、二级导航2、二级导航3 的 fx 值分别为 Item.SecLeve1、Item.SecLeve2、Item.SecLeve3。得到结果,如下图:
2、设置每项加载事件。在每项加载时,根据显示样式数据设置的值显示或隐藏二级导航。从而实现二级导航菜单数量不等也可以工作。
选中:中继器,选中:交互。选择事件:每项加载,选择:启用情形。添加条件,第一个框选中:值,点击第二个框:fx,选中:Item.SecLevel1。如下图:
在此情形下,添加动作,选择:显示/隐藏,添加目标:二级导航1,选中:隐藏动作。这个设置是实现当二级导航1对应的数据值为空时,隐藏该二级导航菜单选择项。同样,设置二级导航2、二级导航3。得到结果,如下图:
3、设置二级导航的组合整体展开/收缩。即当点击一下一级导航时,或展开,或隐藏其下面全部二级导航。
选中:一级导航,点击:新建交互,选择:单击时,选择动作:显示或隐藏。选择目标:组合_二级导航,选择:切换。设置参数,如下图:
如果想实现初次加载导航时,二级导航是折叠的。即只看到一级导航。则可以将二级导航的组合设置为隐藏。
双击:中继器,选中:组合_二级导航,右键,选择:设为隐藏。
4、设置二级导航的单击事件。二级导航选中时,父级也选中。同时,在内联框架中打开链接页面。
选中:二级导航1,选择事件:单击时,点击:启用情形,点击:添加条件,选择:值,点 fx,点击:插入变量或函数,选择:Item.SecLevel1,设置值:角色列表。添加动作:设置选中,选择目标:二级导航1,值为真。添加目标,选中:一级导航,值为真。添加动作:框架中打开链接,选择元件:内联框架,选择页面:角色列表。
同样,添加情形2,设置二级导航1对应的第二行数据:系统日志。如果有第3行...,也同样设置。得到结果,如下图:
同样,设置:二级导航2、二级导航3 的单击事件。
至此,使用中继器来实现二级导航栏制作完毕。按F5预览下效果。