<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用html+css制作的组织结构图_96看吧</title>
<meta name="keywords" content="html+css,组织结构图">
<meta name="description" content="站长建设常用代码,html+css制作的组织结构图。更多精彩内容请访问96看吧 96KB.COM ">
<style>
.dvItem { position:absolute; width:24px; border:1px solid #999999; font-size:12px; padding:5px; height:80px; z-index:9; background-color:#FFFFFF; line-height:16px; }
a { text-decoration:none; color:#333333; }
.dvhline { position:absolute; z-index:17; padding:0px; margin:0px; border-top:1px solid #999999; }
.dvvline { color:blue; position:absolute; background-color:#999999; width:1px; z-index:17; }
</style>
<script>
var dItem = new Array();
var w = 600;
var h = 40;
var iw = 60;
var ih = 80;
var boxh = 80;
var startleft = 400;
var starttop = 40;
var hr = "<hr size=\"1\" noshade>"
var labledv = "<div class=\"dvItem\" style=\""
var hdv = "<div class=\"dvhline\" style=\"width:";
var vdv = "<div class=\"dvvline\" style=\"height:" + h + "px;\"";
var endsdv = "\">";
var enddv = "</div>";
var htm = "";
var len;
var maxn=0;//深度
function Load_Data()
{
dItem[0] = "1|总经理|0|";
dItem[1] = "2|营运主管|1|";
dItem[2] = "3|技术主管|1|";
//dItem[3] = "4|test|1|";
//dItem[4] = "5|test|1|";
dItem[3] = "4|客服主管|2|";
dItem[4] = "5|商务主管|2|";
dItem[5] = "6|商务代表|5|";
dItem[6] = "7|营运策划|2|";
dItem[7] = "8|程序员|3|";
dItem[8] = "9|美工|3|";
len = dItem.length;
Set_Item(0,0);
Set_Max();
Write_Item(0,0,0,1);
var htm1 = "";
for(var i=0;i<len;i++)
{
htm1 = htm1 +dItem[i]+"<br>";
}
//document.getElementById("Load_DV").innerHTML = htm1 ;
document.getElementById("List_DV").innerHTML = htm;
}
//设置层次
function Set_Item(pid,ni)
{
var n = ni + 1;
var iAry = new Array();
for(var i=0;i<len;i++)
{
iAry = dItem[i].split("|");
if(iAry[2] == pid)
{
dItem[i] = dItem[i] + ni;
if(maxn < ni)
{
maxn = ni;
}
Set_Item(iAry[0],n);
}
}
}
//设置节点子节点中最大数
function Set_Max()
{
var iAry = new Array();
var childnum;
for(var i=0;i<len;i++)
{
iAry = dItem[i].split("|");
childnum = Get_Child_Num(iAry[0]);
if(childnum <= 1)
{
dItem[i] = dItem[i] + "|0";
}
else
{
dItem[i] = dItem[i] + "|" + Get_Max(iAry[0],iAry[3]);
}
}
}
function Get_Max(pid,start)
{
var iAry = new Array();
var m = 0;
var n = 0;
for(var j=start;j<=maxn;j++)
{
for(var i=0;i<len;i++)
{
iAry = dItem[i].split("|");
if(iAry[3] == j)
{
if(Get_RootID(pid,iAry[0]))
{
m = m + 1;
}
}
if(n < m)
{
n = m;
}
}
m = 0;
}
return n;
}
function Get_RootID(pid,id)
{
var iAry = new Array();
for(var i=0;i<len;i++)
{
iAry = dItem[i].split("|");
if(iAry[0] == id)
{
if(iAry[2] == pid)
{
return true;
break;
}
else
{
return Get_RootID(pid,iAry[2]);
}
}
}
return false;
}
//取得 id 所在的数组
function Get_Item(id)
{
var i;
var items;
var iAry = new Array();
for(i=0;i<len;i++)
{
iAry = dItem[i].split("|");
if(iAry[0] == id)
{
items = dItem[i];
break;
}
}
return items;
}
//取得子节点个数
function Get_Child_Num(pid)
{
var i;
var rnum = 0;
var iAry = new Array();
for(i=0;i<len;i++)
{
iAry = dItem[i].split("|");
if(iAry[2] == pid)
{
rnum = rnum + 1;
}
}
return rnum;
}
function Write_Item(ipid,ltmp,wtmp,cnt)
{
var iAry = new Array();
var id;
var txt;
var pid;
var lens;
var maxnum;
var t;
var l;
var hline_width;
var dvline = "";
var childnum = 0;
var itxt;
var tmpcnt = 0;
for(var i=0;i<len;i++)
{
itxt = dItem[i];
iAry = itxt.split("|");
if(iAry[2] == ipid)
{
id = iAry[0];
txt = "<a href=\"?id=" + id + "\">" + iAry[1] + "</a>";
pid = iAry[2];
lens = iAry[3];
maxnum = iAry[4];
childnum = Get_Child_Num(id);
hline_width = maxnum * iw;
if(pid == 0)
{
t = starttop;
l = startleft;
}
else
{
t = starttop + 2 * lens * h + lens * ih;
// l = ltmp + wtmp / cnt * tmpcnt;
l = ltmp - wtmp/2 + (wtmp / 2) * tmpcnt;
}
dvline = "";
if(childnum > 1)
{
var t1;
var l1;
var t2;
var l2;
var w2;
t1 = t + ih;
l1 = l + 12;
w2 = hline_width/2;
t2 = t1 + h;
l2 = l - w2 + 10;
dvline = "<div class=\"dvvline\" style=\"height:" + h + "px;left:" + l1 +"px;top:" + t1 + "\"></div>";
dvline = dvline + "<div class=\"dvhline\" style=\"width:" + hline_width + "px;left:" + l2 +"px;top:" + t2 + "\"></div>";
for(var j=0;j<childnum;j++)
{
var t3;
var l3;
t3 = t1 + h;
l3 = l2 + (hline_width/(childnum-1)) * j;
var tmpline = "<div class=\"dvvline\" style=\"height:" + h + "px;left:" + l3 +"px;top:" + t3 + "\"></div>";
dvline = dvline + tmpline;
}
dvline = dvline
}
else if(childnum == 1)
{
var t4;
var l4;
l4 = l + 12;
dvline = "<div class=\"dvvline\" style=\"height:" + h + "px;left:" + l4 +"px;top:" + (t + ih) + "\"></div>";
dvline = dvline + "<div class=\"dvvline\" style=\"height:" + h + "px;left:" + l4 +"px;top:" + (t + ih + h) + "\"></div>";
}
//dvline = hdv + hline_width + endsdv + hr + enddv;<hr size=\"1\" noshade>
//var ldv = "";
//ldv = "<div class=\"dvItem\" style=\"left:" + l + "px;top:" + t + "px;\">" + txt + "<div>"
//htm = htm +ldv + dvline;
htm = htm + labledv + "left:" + l + "px;top:" + t + "px" + endsdv + txt + enddv + dvline;
if(cnt % 2 == 0)
{
tmpcnt = tmpcnt + 2;
}
else
{
tmpcnt = tmpcnt + 1;
}
Write_Item(id,l,hline_width,childnum);
}//if(iAry[2] == ipid)
}
}
</script>
</head>
<body onLoad="Load_Data()">
<div id="List_DV"></div>
</body>
</html>
分享到:
相关推荐
1. 标题和描述均为"update11111111"。这可能表明该压缩包文件是为了进行某种更新操作,更新编号为11111111。在软件开发中,版本号通常用于标识更新或修订的迭代,数字越大通常代表更新越新,也可能是对特定组件或...
标题“rbac11111111”可能指的是一个关于“角色基础访问控制(Role-Based Access Control,RBAC)”的项目或系统,其中的数字可能是版本号或者是内部的标识符。描述中的“112312”没有提供具体的信息,可能是随机...
test11111111
visualvm11111111
根据提供的信息,我们可以总结出以下Hadoop环境搭建过程中的关键知识点: ### 1. Linux基础环境配置 在搭建Hadoop集群之前,首先需要确保Linux基础环境已经配置好。本实验中涉及的操作包括查看IP地址、修改主机名...
OSPF11111111
"py代码-11111111"这个标题可能是指一个包含Python源代码的项目或文件集合,而描述中的内容可能是对该项目或代码的简短概述,但由于信息不全,我们无法获取具体的细节。不过,我们可以根据标签"代码"以及提供的压缩...
放入conf
树莓派代码11111111,从标题看可能是指一些特定的代码标识或者是某个项目或程序的特定命名。尽管给出的标题、描述和标签均以重复的数字组成,但我们可以从通用的树莓派使用角度出发,探讨一些可能与之相关的内容知识...
首先,文件标题和描述均为“rongxin11111111”,这可能表明文件内容或其来源与“rongxin”有关。然而,由于描述信息的稀缺性,我们不能确定其确切含义。其次,标签同样为“rongxin”,这进一步强调了该词汇的重要性...
Reggie11111111
【标题】"meidaj安装包11111111" 指的是一款名为MeiDaJ的软件或插件的安装程序。在IT领域,安装包通常是用于在用户计算机上部署特定应用程序的文件集合。这个特定的安装包以".exe"结尾,表明它是Windows操作系统下的...
【SpringBoot深度解析】 SpringBoot是由Pivotal团队提供的全新框架,其设计目标是为了简化Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如JPA、MVC、WebSocket等,大大减少了Spring应用的...
【标题】:“插件安装包11111111”通常指的是一个包含了特定功能扩展的软件包,用于增强或补充主程序的功能。在IT领域,插件是一种可独立安装和卸载的小型应用程序,它能与主程序无缝集成,提供定制化的服务。 ...
在“javaweb复习11111111”这个主题中,我们可以深入探讨以下几个核心知识点: 1. **Servlet与JSP**: Servlet是JavaWeb开发中的基础,用于处理HTTP请求。它是一个Java类,遵循Servlet接口,可以动态生成响应内容...
标题 "图片修复11111111" 暗示了本次的主题是关于图像修复技术,这是一项在数字图像处理领域中的关键技术。图像修复主要用于恢复破损、模糊或者低质量的图片,使其尽可能接近原始状态。这项技术广泛应用在历史照片...