利用相同的数据实现menu和tree的例子
对于相同的数据,但是在很多不同的地方,需要有不同的展现方式的时候,就需要用了
例如对于下面的数据(和标准的XML相同,只是没有根,而且每个节点必须是div)
js 代码
- var divData = "" +
- "<div id='menu1' label='1' value='1' backgroundImage='url(images/home.gif)'>div>" +
- "<div id='menu2' label='2' value='2' backgroundImage='url(images/home.gif)'>div>"+
- "<div id='menu3' label='3' value='3' backgroundImage='url(images/home.gif)'>"+
- "<div id='menu31' label='3-1' value='31' backgroundImage='url(images/home.gif)'>div>"+
- "<div id='menu32' label='3-2' value='32' backgroundImage='url(images/home.gif)'>div>"+
- "<div id='menu33' label='3-3' value='33' backgroundImage='url(images/home.gif)'>"+
- "<div id='menu331' label='3-3-1' value='331' backgroundImage='url(images/home.gif)'>div>"+
- "<div id='menu332' label='3-3-2' value='332' backgroundImage='url(images/home.gif)'>div>"+
- "<div id='menu333' label='3-3-3' value='333' backgroundImage='url(images/home.gif)'>div>"+
- "div>"+
- "div>"+
- "<div id='menu4' label='4' value='4' backgroundImage='url(images/home.gif)'>"+
- "<div id='menu41' label='4-1' value='41' backgroundImage='url(images/home.gif)'>div>"+
- "<div id='menu42' label='4-2' value='42' backgroundImage='url(images/home.gif)'>div>"+
- "<div id='menu43' label='4-3' value='43' backgroundImage='url(images/home.gif)'>div>"+
- "div>";
把上面的数据生成一个菜单,菜单生成只是对spry的menu进行了一下包装,返回的MenuBar对象就是一个Spry.Widget.MenuBar
js 代码
-
- var MenuBar = initHTMLMenu("menuContainer",divData);
其中menuContainer是一个div的id,div的具体样子如下
type = 'MenuBarHorizontal' 菜单项水平排布(默认)
type = 'MenuBarVertical' 菜单项垂直排布
其中menuClick标记点击菜单时,调用的函数,注意这里只写函数名
代码
- <div id="menuContainer" type='MenuBarHorizontal' menuClick='menuClick'>div>
把事例的数据生成一个tree形式
js 代码
-
- var tree = new gavinTree("treeContainer",divData);
-
- function treeTitleClick(obj)
- {
- alert("tree::" + obj.getAttribute("label"));
- }
其中 treeContainer 就是一个div的ID,用来承载生成树
treeClick用来定义,点击树的节点文字时候,调用的函数,注意只能写函数名
html代码
- <div id="treeContainer" treeClick='treeTitleClick'>div>
具体的看demo吧
bug1 如果有三级菜单,则其父级的2级菜单会出现重复,感谢 metaphy 的解决方案,已经更新到demo中
- 描述: 执行后的效果图
- 大小: 3.5 KB
分享到:
相关推荐
本文将详细解析一个JavaScript实现的Menu和Tree的实例,以"转: 一个js的menu和tree的例子"为例,该实例来源于花生米blog。 首先,我们来看`samples.css`。这是一个CSS样式表文件,它定义了菜单和树形结构的视觉样式...
"tigra_tree_menu"是一个专门用于创建美观且功能强大的树形菜单的JavaScript库。这个库为网页开发者提供了一种简单的方式,以交互式的、层次化的形式展示网站的导航结构。下面将详细介绍这个库的关键知识点及其相关...
在这个实例中,我们关注的是如何利用jQuery创建一个动态的目录树(menu tree),这是一种常见的用户界面元素,用于展示层级结构的数据,如网站导航、文件系统或数据库结构。目录树通常以缩进的形式呈现,用户可以...
总的来说,这个“二级树形菜单示例:CSS+TreeMenu”提供了一个基础模板,帮助开发者了解如何使用纯CSS来创建功能完备的二级菜单。通过学习和实践,你可以根据项目需求进行定制,打造出更加复杂和个性化的菜单系统。
`Ext JS`是一个广泛使用的JavaScript库,它提供了丰富的组件和工具,帮助开发者构建功能强大的企业级应用。本篇将深入探讨如何在`Ext JS`中实现Tree组件的不同节点拥有不同的右键菜单,这对于提供定制化的用户体验是...
综上所述,"Tree+完美右键菜单"是一个结合了HTML、CSS和JavaScript技术的实践案例,旨在创建一个功能强大且用户体验良好的树形结构右键菜单。通过理解并应用这些知识点,开发者可以为他们的Web应用增添更多互动性和...
然后,我们调用这个函数,传入根节点和父`<ul>`元素(在这个例子中是`#treeMenu`)。 最后,为了让菜单具有交互性,我们可以添加一些JavaScript来控制展开和关闭子菜单。例如,当用户点击一个包含子菜单的菜单项时...
6. **ComboBox**: ComboBox 是一个组合框,结合了文本输入框和下拉列表的功能。用户可以输入关键字进行筛选,也可以直接从下拉列表中选择。 7. **Button**: Button 提供了不同类型的按钮,如普通按钮、提交按钮、...
"ext-2.0.2" 是一个JavaScript库的版本号,主要专注于构建富客户端应用程序。这个库,通常称为EXTJS,是由Sencha公司开发的,它提供了一系列强大的组件和工具,用于创建交互式和复杂的网页应用。EXTJS 2.0.2是该框架...
若一个节点有子节点,子节点会嵌套在父节点的另一个`<ul>`中。例如: ```html <ul id="treeMenu"> 菜单1 菜单1.1 菜单1.2 菜单2 ``` CSS部分,可以定义菜单节点的样式,以及展开/折叠时的视觉效果。...
EXTJS是一个开源的JavaScript库,由Sencha公司开发,提供了丰富的用户界面组件和数据管理功能。EXT3.3是EXTJS的一个早期版本,虽然现在已有更新的EXTJS版本,但EXT3.3仍然在许多项目中广泛使用,因为它稳定且能满足...
在"文件名称列表"中,我们只看到"Dengru"这个文件名,这可能是压缩包内的一个HTML文件或者JavaScript文件,用于展示具体例子。这个文件可能包含了一个或多个小的示例,例如: - 登录表单(Login Form):展示了如何...
ExtJS 4 是一个强大的JavaScript库,用于构建富客户端Web应用程序。它提供了丰富的组件和功能,包括表格、面板、图表、表单等,使得开发者能够创建功能丰富的、交互性强的网页应用。SSI(Server Side Includes)是一...
ASP(Active Server Pages)是一种微软开发的服务器端脚本语言,常用于构建动态网页。在ASP中实现树形菜单是一项常见的需求,特别是在构建...文件"treemenu"可能包含了实现这个功能的ASP源代码,可以进一步研究和学习。
在这个例子中,我们添加了一个名为`hidden`的CSS类,用于隐藏子菜单。 2. **递归渲染**:如果树形菜单的数据来源于服务器或动态生成,可以使用JavaScript的递归函数将数据转换为HTML结构。 ```javascript function...
以下是一个简单的例子: ```css #treeMenu { list-style-type: none; } #treeMenu li { position: relative; } #treeMenu li:before { content: '\25B6'; /* Unicode字符,表示三角箭头 */ display: inline-...
本文将深入探讨如何使用jQuery(简称为JQ)和CSS来创建一个既美观又实用的折叠树形目录菜单。 首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax交互等任务。在创建折叠树形菜单时,...
【标题】"一个很好用的树形菜单"指的是在网页设计中使用的一种交互式用户界面元素,即树状菜单(Tree Menu)。这种菜单通常用于显示层次结构的数据,比如网站导航、文件系统或数据库结构。dhtmlxtree是实现这一功能...
总之,CSS TreeMenu 是一种利用CSS样式创建具有层次感和视觉吸引力的二级菜单的方法。通过精细的CSS规则和HTML结构,可以构建出功能完备、易于导航的网页菜单系统。为了适应不同的网站设计,开发者可以灵活调整颜色...
EXT是一个强大的JavaScript库,主要用于构建富客户端Web应用。EXT的核心在于其组件模型,它提供了大量预先封装好的用户界面组件,如表格、面板、菜单、工具栏等,使得开发者能够快速构建出美观且功能丰富的交互式...