前端framework7 树
// 画无子的
function drawNoChildren(c, d) {
const childToNoChildHTML = global.app.templates.childToNoChildTemplate({
name: c.name,
id: c.id,
});
$$(`#${d.id}`).append(childToNoChildHTML);
$$(`#fj${c.id}`).on('click', showPic);
}
// 画有子的
function drawHasChildren(c, d) {
const childToChildHTML = global.app.templates.childToChildTemplate({
name: c.name,
id: c.id,
});
$$(`#${d.id}`).append(childToChildHTML);
}
function hasChildren(s) {
if (s.children.length === 0) {
return false;
}
return true;
}
// 遍历每一层的所有节点
function ergodicNodes(t) {
for (let a = 0; a < t.children.length; a += 1) { // 遍历下层节点
if (hasChildren(t.children[a]) === true) {
drawHasChildren(t.children[a], t); // 有孩子
ergodicNodes(t.children[a]);
} else {
drawNoChildren(t.children[a], t);
}
}
}
function successData(data0) {
$$('#rootLoop').html('');
const data = JSON.parse(data0);
if (data.length !== 0) {
for (let i = 0; i < data.length; i += 1) {
// 画根
const rootToChildHTML = global.app.templates.rootToChildTemplate({
name: data[i].name,
id: data[i].id,
});
$$('#rootLoop').append(rootToChildHTML);
ergodicNodes(data[i]);
}
}`在这里插入代码片`
//页面
<!DOCTYPE html>
<html>
<head>
{{> ../share/css}}
</head>
<body>
<!-- Views -->
<div class="views">
<!-- Your main view, should have "view-main" class -->
<div class="view view-main">
<div class="pages navbar-fixed">
<!-- Page, "data-page" contains page name -->
<div data-page="newKnowV3" class="page no-tabbar">
<!-- Page content -->
<div class="page-content pagecolor">
<form data-search-list=".list-block" data-search-in=".list-block" class="searchbar searchbar-init">
<div class="searchbar-input">
<input type="search" placeholder="请输入要搜索的标题" id="searchName" autocomplete="off">
<a href="#" class="searchbar-clear"></a>
</div>
<a href="#" class="searchbar-cancel" id="cancel" style="color: #fff;">取消</a>
</form>
<div class="list-block" style="margin-top: 0px;">
<ul class="outClass" id="rootLoop">
</ul>
</div>
<script type="text/template7" id="rootToChildTemplate">
<li class="accordion-item item-link libottom" style="padding-left: 15px;">
<a href="#" class="item-link">
<div class="item-inner">
<div class="item-title-row" style="width: 90%;">
<div class="item-subtitle text-bold">\{{name}}
</div>
</div>
</div>
</a>
<div class="accordion-item-content">
<div class="content-block">
<ul style="padding-left: 15px;" id="\{{id}}">
</ul>
</div>
</div>
</li>
</script>
<script type="text/template7" id="childToChildTemplate">
<li class="accordion-item item-link libottom" >
<a href="#" class="item-link">
<div class="item-inner">
<div class="item-title-row" style="width: 90%;">
<div class="item-subtitle text-bold">\{{name}}
<div class="row">
<div class="col-50"></div>
<div class="col-50"></div>
</div>
</div>
</div>
</div>
</a>
<div class="accordion-item-content">
<div class="content-block">
<ul style="padding-left: 15px;" id="\{{id}}">
</ul>
</div>
</div>
</li>
</script>
<script type="text/template7" id="childToNoChildTemplate">
<li class="item-link libottom" id="fj\{{id}}" data-id="\{{id}}" data-name="\{{name}}">
<a href="#" class="item-link" >
<div class="item-inner">
<div class="item-title-row" style="width: 90%;">
<div class="item-subtitle text-bold">\{{name}}
<!--<div class="row">-->
<!--<div class="col-50"></div>-->
<!--<div class="col-50"></div>-->
<!--</div>-->
</div>
</div>
</div>
</a>
</li>
</script>
</div>
</div>
</div>
</div>
</div>
{{> ../share/js}}
</body>
</html>