html与js 如何实现树形菜单

JavaScript014

html与js 如何实现树形菜单,第1张

用z-tree插件

①带有父子关系的标准

zTreeNodes

举例:

Js代码

1.var zTreeNodes = [

2.{"id":1, "name":"test1", "nodes":[

3.{"id":11, "name":"test11", "nodes":[

4.{"id":111, "name":"test111"}

5."id":12, "name":"test12"}

②带有父子关系的简单

Array

格式

(isSimpleData)的zTreeNodes

举例:

Js代码

1.var treeNodes = [

2. {"id":1, "pId":0, "name":"test1"},

3.{"id":11, "pId":1, "name":"test11"},

4. {"id":12, "pId":1, "name":"test12"},

5. {"id":111, "pId":11, "name":"test111"},

例子:

(Java代码)

①在页面引用

zTree的js和css:

Html代码

1.

<!-- ZTree树形插件 -->

2.<link

rel="stylesheet"

href="<%=root%>/Web/common/css/zTreeStyle/zTreeStyle.css"type

="text/css">

3.<!-- <link rel="stylesheet" href="<%=root%>/Web/common/css/zTreeStyle/zTreeIcons.css" type="text/css"> -->

4.<script ype="text/javascript"src="<%=root%>/Web/common/js/jquery-ztree-2.5.min.js"

></script>

树形的数据结构很固定,如果你不知道什么是树,那就先去补补数据结构吧。知道什么是树了,就开始考虑ui,ui中每个树节点应当具有一个维持当前状态的变量,这个状态就是当前节点是展开的还是收缩的,并且要添加对应的鼠标事件,以便切换节点的状态,单个节点处理完毕,就要考虑到子节点的问题,当一个节点因事件展开后,其所有子节点应该按照原有顺序显示出来,首先为了保持树形的ui特点,它们应该是距离其父节点有一定距离的,然后,它们也应当向其父节点一样能够在鼠标事件中切换状态

从可见的行列表中提取部分: NSArray *indexPathsForVisibleRows = [tableView indexPathsForVisibleRows]

NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSet]

for ( NSIndexPath *indexPath in indexPathsForVisibleRows ) {

[indexSet addIndex:indexPath.section]

}

NSLog(@"indexSet %@",indexSet)

// indexSet <NSMutableIndexSet: 0x11a5c190>[number of indexes: 5 (in 1 ranges