最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS无限树状列表实现代码_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 20:56:46
文档

JS无限树状列表实现代码_javascript技巧

JS无限树状列表实现代码_javascript技巧:tree.js 代码如下: /******************************** 树形组织框架列表 v1.0 2011年1月6日 作者:flycrosscloud ********************************/ //初始化框架 var allImages = { HasNodeClose: , //包
推荐度:
导读JS无限树状列表实现代码_javascript技巧:tree.js 代码如下: /******************************** 树形组织框架列表 v1.0 2011年1月6日 作者:flycrosscloud ********************************/ //初始化框架 var allImages = { HasNodeClose: , //包
tree.js
代码如下:
/********************************
树形组织框架列表
v1.0
2011年1月6日
作者:flycrosscloud
********************************/
//初始化框架
var allImages = {
HasNodeClose: "", //包含子节点,闭合状态(不是最后一个)
HasNodeOpen: "", //包含子节点,打开状态(不是最后一个)
LastHasNodeClose: "", //包含子节点,闭合状态(最后一个)
LastHasNodeOpen: "", //包含子节点,打开状态(最后一个)
CommonNode: "", //不包含子节点,普通节点(不是最后一个)
LastCommonNode: "", //不包含子节点,普通节点(最后一个)
NodeLine: "", //节点间连线
NodeClose: "", //节点关闭状态
NodeOpen: "", //节点打开状态
NodeBlank: ""//空白连线
};
$(function ()
{
$.post("http://localhost/system/asmx/wsTree.asmx/HelloWorld", function (data) { InitTree(data); });
});
function InitTree(org_data)
{
var org = eval("(" + org_data + ")");
drawtree(org, 1, "", "#nodeTree");
$("#nodeTree img").bind("click", function (event)
{
$(this).parent().find("ul").toggle();

});
}
function drawtree(org, s, pPreLine, ulname)
{
var orgLength = org.length;
var PreLine;
var count = s;

for (var i = 0; i < orgLength; i++)
{
var NodeImg = allImages.NodeClose; //项目前图标
var PreNodeLine; //项目图标前连线
//确定项目前图标
if (org[i].ChildUnits != null)//如果包含子节点
{
NodeImg = allImages.NodeOpen;
}
//确定图形前连线
if ((org[i].ChildUnits != null) && (i == orgLength - 1))
{
//包含子节点并且是本层最后一个节点
PreNodeLine = allImages.LastHasNodeOpen;
}
if ((org[i].ChildUnits == null) && (i == orgLength - 1))
{
//不包含子节点并且是本层最后一个节点
PreNodeLine = allImages.LastCommonNode;
}
if ((org[i].ChildUnits != null) && (i != orgLength - 1))
{
//包含子节点并且不是本层最后一个节点
PreNodeLine = allImages.HasNodeOpen;
}
if ((org[i].ChildUnits == null) && (i != orgLength - 1))
{
//不包含子节点并且不是本层最后一个节点
PreNodeLine = allImages.CommonNode;
}
if (i == orgLength - 1)
{
PreLine = pPreLine + allImages.NodeBlank;
}
else
{
PreLine = pPreLine + allImages.NodeLine;
}
var temp = $("

  • " + pPreLine + PreNodeLine + NodeImg + "" + org[i].unit_name + "
  • ");
    $(ulname).append(temp);
    if (org[i].ChildUnits != null)
    {
    temp.append("");
    var content = temp.find("ul");
    drawtree(org[i].ChildUnits, count + 1, PreLine,content );
    }
    }

    }

    tree.css
    代码如下:
    li
    {
    vertical-align: middle;
    font-size: 16px;
    display: block;line-height: 22px;list-style-type: none;height: 22px;padding: 0px; margin:0px;
    }
    ul a
    {
    height:22px;
    line-height:22px;
    color:#123231;
    text-decoration:none;
    }
    ul
    {
    list-style-type:none;
    padding:0px;
    margin:0px;
    }
    img
    {
    vertical-align:middle;
    cursor:pointer;
    }
    *
    {
    padding:0px;
    margin:0px;
    }

    test.htm
    代码如下:



    文档

    JS无限树状列表实现代码_javascript技巧

    JS无限树状列表实现代码_javascript技巧:tree.js 代码如下: /******************************** 树形组织框架列表 v1.0 2011年1月6日 作者:flycrosscloud ********************************/ //初始化框架 var allImages = { HasNodeClose: , //包
    推荐度:
    标签: 技巧 菜单 列表
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top