Skip to content

Commit a4be24e

Browse files
视图树的最简化实现
1 parent 82d1f1e commit a4be24e

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

JavaScript/06-目录树视图/目录树视图.html

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,51 @@
1010
</div>
1111

1212
<script src="../Scripts/eg/eg.base.js"></script>
13+
<script type="text/javascript">
14+
var dic = {
15+
"0": { pid: -1, cn: "本书目录", url: "/" }
16+
, "1": { pid: 0, cn: "第 1 章 JavaScript概述", url: "/01" }
17+
, "11": { pid: 1, cn: "1.1 认识JavaScript", url: "#" }
18+
, "12": { pid: 1, cn: "1.2 配置JavaScript开发环境", url: "#" }
19+
, "2": { pid: 0, cn: "第 2 章 用JavaScript验证表单", url: "/02" }
20+
, "21": { pid: 2, cn: "2.1 最简单的表单验证 - 禁止空白的必填项目", url: "#" }
21+
, "22": { pid: 2, cn: "2.2 处理各种类型的表单元素", url: "#" }
22+
, "23": { pid: 2, cn: "2.3 用正则表达式校验复杂的格式要求", url: "#" }
23+
, "24": { pid: 2, cn: "2.4 改善用户体验", url: "#" }
24+
, "3": { pid: 0, cn: "第 3 章 JavaScript实现的照片展示", url: "/03" }
25+
, "31": { pid: 3, cn: "3.1 功能设计", url: "#" }
26+
, "32": { pid: 3, cn: "3.2 照片加载与定位", url: "#" }
27+
, "33": { pid: 3, cn: "3.3 响应鼠标动作", url: "#" }
28+
};
29+
for (var i in dic) {
30+
if (dic[i].pid != undefined) {
31+
var pid = dic[i].pid;
32+
if (dic[pid]) { //父类存在
33+
dic[pid].child || (dic[pid].child = []); //判断父类是否有child,无则初始化
34+
dic[pid].child.push(i);
35+
}
36+
}
37+
}
38+
var z3fTree = function (el, pid) {
39+
var ul = document.createElement("ul");
40+
for (var i in dic) {
41+
if (dic[i].pid == pid) {
42+
var li = document.createElement("li");
43+
li.innerHTML = '<a href="' + dic[i].url + '">' + dic[i].cn + '</a>';
44+
45+
if (dic[i].child && dic[i].child.length > 0) {
46+
z3fTree(li, i.toString()); //递归
47+
}
48+
49+
ul.appendChild(li);
50+
} else {
51+
continue;
52+
}
53+
}
54+
el.appendChild(ul);
55+
};
56+
57+
z3fTree(eg.$("mytree"), -1);
58+
</script>
1359
</body>
1460
</html>

0 commit comments

Comments
 (0)