Skip to content

Commit 30d9ec6

Browse files
Create index.js
1 parent b46802b commit 30d9ec6

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed

static/js/index.js

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
$(document).ready(function (){
2+
//初始化动态加载控件
3+
ajax();
4+
5+
//注册菜单展开收缩事件
6+
7+
$(".parentnode_title_symbol").click(function () {
8+
9+
shrinkage($(this));
10+
11+
})
12+
13+
//当没有子节点的div去除样式
14+
15+
upclass();
16+
17+
$("#parentnode li:first .parentnode_title:first").addClass("active");
18+
19+
$(".parentnode_title a").click(function () {
20+
$(".parentnode_title").each(function () {
21+
var each = $(this);
22+
each.removeClass("active");
23+
});
24+
25+
$(this).parent().parent().addClass("active");
26+
27+
})
28+
$(".parentnode_title_symbol").css('background-image', 'url("static/icon/minus.png")');
29+
});
30+
function ajax() {
31+
//直接使用ajax访问
32+
data = $("#jsonContent").val();
33+
34+
var hehe = { "tbFuncDic": JSON.parse(data) }
35+
// alert(hehe);
36+
databinding(hehe);//绑定数据
37+
38+
39+
}
40+
41+
42+
//菜单子节点展开关闭
43+
function shrinkage(dom) {
44+
//改变图片背景
45+
if (!dom.hasClass('parentnode_title_nochildnode_symbol')) {
46+
switch (parseInt($(dom).children("b").html())) {
47+
case 1://关闭
48+
$(dom).css('background-image', 'url("static/icon/plus.png")');
49+
$(dom).children("b").html("2");
50+
$(dom).parent().siblings().hide();
51+
break;
52+
case 2://展开
53+
$(dom).css('background-image', 'url("static/icon/minus.png")');
54+
$(dom).children("b").html("1");
55+
$(dom).parent().siblings().show();
56+
break;
57+
default: break;
58+
}
59+
}
60+
61+
}
62+
63+
//循环绑定数据
64+
65+
function databinding(data) {
66+
//动态创建树形菜单
67+
var parentnodediv = $("#parentnode");
68+
for (var i = 0; i < data.tbFuncDic.length; i++) {
69+
//最上层父节点
70+
if (data.tbFuncDic[i].parentID == 0) {
71+
Cycledata(parentnodediv, data.tbFuncDic[i]);
72+
}
73+
}
74+
//创建子节点
75+
if (data.tbFuncDic.length > 0) {
76+
childnodes(data);
77+
}
78+
79+
80+
}
81+
82+
//创建子节点
83+
84+
function childnodes(data) {
85+
for (var j = 0; j < $("#parentnode").find(".parentnode_title_name").length; j++) {
86+
for (var i = 0; i < data.tbFuncDic.length; i++) {
87+
if (data.tbFuncDic[i].parentID == $("#parentnode").find(".parentnode_title_name")[j].id) {
88+
var parentnodediv = $($("#parentnode").find(".parentnode_title_name")[j]).parent().parent();
89+
Cycledata(parentnodediv, data.tbFuncDic[i]);
90+
}
91+
}
92+
}
93+
}
94+
95+
//绑定数据方法
96+
function Cycledata(parentnodediv, data) {
97+
var parentnode_noe = document.createElement("li");//创建一个div
98+
parentnode_noe.className = " parentnode_noe";//为div添加class
99+
parentnodediv.append(parentnode_noe);//将其添加到div末尾
100+
101+
var parentnode_title = document.createElement("div");//创建一个div
102+
parentnode_title.className = " parentnode_title ";//为div添加class
103+
parentnode_noe.appendChild(parentnode_title);//将其添加到div末尾
104+
105+
var parentnode_title_symbol = document.createElement("div");//创建一个div
106+
parentnode_title_symbol.className = "parentnode_title_symbol parentnode_title_fix ";//为div添加class
107+
parentnode_title.appendChild(parentnode_title_symbol);//将其添加到div末尾
108+
var b = document.createElement("b");//创建一个b标签
109+
b.innerHTML = 1;//为b添加内容
110+
parentnode_title_symbol.appendChild(b);//将其添加到div末尾
111+
var parentnode_title_name = document.createElement("div");//创建一个div
112+
parentnode_title_name.className = "parentnode_title_name";//为div添加class
113+
114+
if ( data.titleName.length > 30) {
115+
parentnode_title_name.innerHTML = "<a href='#a_" + data.titleID + "' title='" + data.titleName + "'>" + data.titleName.substr(0,30) + '...' + "</a>";//为div添加class
116+
} else {
117+
parentnode_title_name.innerHTML = "<a href='#a_" + data.titleID + "' title='" + data.titleName + "'>" + data.titleName + "</a>";//为div添加class
118+
}
119+
parentnode_title_name.id = data.titleID;//为div添加ID
120+
parentnode_title_name.setAttribute("name", data.parentID);
121+
122+
parentnode_title.appendChild(parentnode_title_name);//将其添加到div末尾
123+
124+
}
125+
126+
127+
128+
//当没有子节点的div去除样式
129+
130+
function upclass() {
131+
$(".parentnode_title").each(function () {
132+
var me = $(this);
133+
if (me.siblings().length == 0) {
134+
me.find(".parentnode_title_symbol b").css("display", "none");
135+
me.find(".parentnode_title_symbol").addClass("parentnode_title_nochildnode_symbol").removeClass("parentnode_title_symbol");
136+
}
137+
})
138+
}

0 commit comments

Comments
 (0)