一款好用的树形菜单

以前那个帖子地址:http://www.iteye.com/topic/851317

 

 

为庆祝QUI框架V2.1.5版本正式发布,这次给大家介绍一款非常好用的树形下拉框组件:QUI树形下拉框。

 

特点1:美化的并且可自定义的外观

该下拉框使用JS进行渲染。下拉框样式如下:


该外观是由CSS和图片控制。通过修改CSS可以很方便地实现更改外观。

QUI树形下拉框不存在IE6中无法被浮动层遮住等问题。

 

 

特点2:使用简单

引入脚本和相应的CSS之后, 在页面写如下的HTML代码:

<divclass="selectTree"treeType="ztree"id="sel01"><ulid="treeDemo"class="ztree"></ul></div>

 

然后为其指定JSON数据即可。数据格式:

var zNodes1 =[	{ id:1, pId:0, name:"父节点1",open:true},	{ id:11, pId:1, name:"叶子节点11"},	{ id:12, pId:1, name:"叶子节点12"},	{ id:13, pId:1, name:"叶子节点13"},	{ id:2, pId:0, name:"父节点2 ",open:true},	{ id:211, pId:2, name:"叶子节点21"},	{ id:212, pId:2, name:"叶子节点22"},	{ id:213, pId:2, name:"叶子节点23"},	{ id:214, pId:2, name:"叶子节点24"}];

 

 

 

特点3:控制某些节点不可选

如果希望某些子节点(例如父节点)不可选择,为该项JSON数据设置clickExpand:true即可,这样点击后不会选中项,而是展开子节点。

 

 

 

 

 

特点4:触发close事件

可以为selectTree的div添加close事件,每当内容层关闭时会调用。通过这种方式可以将选中项传递给hidden表单元素,用于提交表单。

 

 

 

特点5:自定义图标

下拉框树结构每个节点都可以自定义图标。效果如下:


 

 

 

 

特点6:宽度处理

QUI树形下拉框对于宽度的处理方式是:默认会有一个宽度,当树结构过宽则内容层会增大宽度用于自适应里面的内容。

 

还可以为下拉框和内容层强制指定一个宽度。效果如下:

 

 

 

 

 

特点7:树形下拉框可编辑

为下拉框代码添加一个editable="true"属性,就把它变成了一个可编辑的下拉框,效果如下:

 


 

 

 

 

 

特点8:可通过AJAX方式加载数据

下拉框的树结构可以通过ajax方式加载。详情请参见在线相关示例。

 

 

特点9:变成树形多选下拉框

为下拉框添加multiMode="true"属性,可以把它变成树形多选下拉框。效果如下:

 


 

当选择完毕后,鼠标移入可以显示所有选择的选项提示。效果如下:

 


 

 

 

特点10:树形多选下拉框的不分组模式

改变树形多选下拉框的JSON数据,让其不分组。那么就变成一个select多选下拉框。效果如下:

 

 


 

 

 

特点11:树形下拉框的验证

结合QUI框架的验证机制,可以方便地为树形下拉框添加验证。效果如下:

 

 


 

 

 

特点12:树形下拉框动态增删改选项

树形下拉框支持动态增删改选项。结合ajax机制可以方便地实现如下效果:

 


 

添加一个节点后的效果:

 


 

 

 

特点13:完美的浏览器兼容性

无论是IE6、IE7、IE8、IE9还是FireFox、Chrome、Safira,甚至在Linux下都保持功能与外观的一致性。

 

 

声明:本组件内部的树结构采用的是zTree组件,感谢zTree组件作者的支持与授权。

 

 

在线示例访问地址:点击查看

 

 

与前一帖一样,这个树形下拉框是 “QUI框架”的一部分,可以下载整个框架来使用更多的组件。

 

点击下载框架

 

 

 

 

 

补充:以前那个帖子:http://www.iteye.com/topic/851317

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity自带的菜单选项可以为开发人员提供快捷的功能,但是当我们需要一个更加专业化的菜单时,Unity的默认菜单选项可能无法满足需求。此时,自定义树形菜单就应运而生。 Unity的自定义树形菜单是基于EditorGUILayout的GUI实现的。首先,我们需要扩展Editor类并使用MenuCommand属性,以及EditorGUI类,来为自定义菜单添加菜单项和功能选项。然后,我们可以使用GUILayout实现垂直排列的树形菜单,在每个菜单项的后面添加子菜单。 接下来,我们应该为自定义菜单添加相应的功能。在每个菜单项中,我们可以通过EditorGUILayout实现按钮、文本框、下拉菜单等等,为每个功能选项设计对应的功能。比如,我们可以在菜单项中添加新的对象、展开/折叠所有对象、删除特定的对象等功能。 最后,我们需要重写OnGUI方法,在其中调用自己的菜单绘制函数。这样,在编辑器中打开自定义窗口时,我们就可以看到新的树形菜单和功能选项了。另外,我们要记得在Menu选项中添加自定义的扩展菜单,这样才能在编辑器菜单中添加自己的菜单项。 总而言之,Unity的自定义树形菜单功能可以让开发人员更加简便地实现自己的的菜单和功能选项。如果你想为Unity添加一些自定义的、专业化的菜单和功能选项,自定义树形菜单将是一个十分有效的解决方案。 ### 回答2: Unity是一款非常强大的游戏引擎,在其中可以进行大量的开发工作。其中,Unity提供了很多的功能和工具,其中就包括了自定义树形菜单。 在Unity中,树形菜单是一种非常方便的工具,可以让用户轻松地查看所有的功能和对象,并且方便进行管理。如果用户想要自定义树形菜单,可以按照以下的步骤进行操作: 1. 创建一个新的编辑器窗口,负责显示自定义树形菜单。 2. 在这个编辑器窗口中,可以使用GUILayout或者IMGUI等工具来自定义绘制。 3. 使用EditorApplication.hierarchyWindowChanged事件去监听当场景objectId的集合发生了改变时触发。 4. 使用UnityEditor.GUILayout.Popup方法样式,用户可以为每个节点添加下拉箭头。 5. 使用自定义GUILayout.Button方法样式,用户可以为每个节点添加列表中的按钮。 上述步骤是在Unity中自定义树形菜单的基本过程,用户可以根据自己的需求进行更改和调整。自定义树形菜单可以大大提高工作效率,让开发者更加方便地管理和操作游戏中的场景、对象和功能。 ### 回答3: Unity是一款十分强大的游戏引擎,是许多游戏制作人员所钟爱的工具。Unity自带的菜单栏虽然已经很强大,但是我们还是有时候需要自定义树形菜单,来更好的实现游戏中的各种功能。这里我们将介绍如何使用Unity自定义树形菜单。 首先,打开Unity的编辑器并打开项目。然后在项目中新建一个C#脚本,并将其命名为“CustomMenu.cs”。我们将在这个脚本中编写我们的树形菜单。 接下来,我们需要为我们的树形菜单设置一个名称。在“CustomMenu.cs”中,使用“[MenuItem(“Custom/MyMenu”)]”,产生一个名为“MyMenu”的菜单。 接下来,我们可以在Unity的编辑器中创建一个新的文件夹,将其命名为“Custom”,这个文件夹将成为我们创建的菜单的父级。 接下来,在“CustomMenu.cs”中,我们可以使用“[MenuItem(“Custom/MyMenu/Do Something”)]”创建菜单的子项,并添加相应的函数来实现这个子项的功能。 最后,在Unity中运行我们的项目,并点击菜单栏“Custom”选项,我们就可以看到我们刚刚创建的树形菜单了。当我们点击“MyMenu”时,会显示“Do Something”子项。当我们点击“Do Something”时,它将调用相应的函数并执行相应的操作。 综上所述,Unity自定义树形菜单的实现方法是很简单的。我们只需要编写一个包含菜单名称和相应函数的脚本即可。可以根据需要创建任意多的子项,并为它们添加相应的功能。自定义菜单能够帮助我们更好地实现游戏中的各种功能,提高我们的工作效率,让我们更加专注于游戏的创作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值