<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>
分享到:
相关推荐
CS222M,Y电容资料介绍! Mid-high Voltage Ceramic Capacitors(Disk with Lead) Safety Standard Approved CS Series BASIC INSULATION TYPE Temperature range: –25 to +105°C CLASS 2 HIGH DIELECTRIC FEATURES...
来自官方的BMA222E驱动程序 INTRODUCTION This package contains the Bosch Sensortec MEMS accelerometer sensor driver sensor API The sensor driver package includes bma2x2 h bma2x2 c and bma2x2 ...
222 eeee 444 ttt yyyy uuu
索尼IMX222是一款由索尼公司制造的CMOS图像传感器,其型号为IMX222LQJ-C,具有对角线长度为6.4毫米(类型1/2.8)的方形像素阵列,包含约2.43百万的有效像素。该芯片采用模拟2.7V、数字1.2V和接口1.8V的三电源供电。...
标题"Atheros AR5BWB222 无线网卡驱动For XP"涉及到的是一个特定的无线网卡驱动程序,主要用于Windows XP操作系统。Atheros AR5BWB222是一款由Atheros公司生产的无线网络适配器,它允许计算机通过Wi-Fi连接到无线...
### ITU-T H.222标准概览与关键技术解析 #### 一、ITU-T H.222标准概述 **ITU-T H.222** 标准是国际电信联盟(ITU)电信标准化部门(ITU-T)制定的一系列关于音频视觉服务传输复用和同步的标准之一。该标准主要...
台湾威锋VL222+VL161方案参考原理图 本文档为台湾威锋VL222+VL161方案的参考原理图,旨在为读者提供详细的设计指南和知识点。 1. USB接口设计: 在该方案中,USB接口使用VL222和VL161芯片,提供了高速数据传输和低...
H12-222题型汇总-EXCEL版本,方便大家学习和记题 已经包含华为HCNP-R&S-IENP(H12-222)V2.0测试软件.exe 里面所有题型,部分最新的题型也在里面。 我看这个 考HCIP-H12-222 必过。 用excel 方便大家记题,可以在手机...
在深入探讨《cpu222硬件图》这一主题前,我们先来理解一下核心概念——西门子S7-200系列PLC中的CPU222模块。S7-200系列是西门子公司推出的一款小型可编程逻辑控制器(Programmable Logic Controller,简称PLC),...
标题“java-1.8.0_222-openjdk-amd64.tgz”指出这是一个与Java开发工具包(JDK)相关的压缩文件,特别提到了版本是1.8.0_222,针对AMD64架构,即64位系统。此文件很可能是OpenJDK的开源实现,OpenJDK是Java SE(标准...
ITU-T H.222.0(TS中文) 是一项国际标准,具体为ISO/IEC 13818-1的中文版本,由国际电信联盟(ITU-T)标准化部门制定。该标准主要涉及视听和多媒体系统领域,特别是关于活动图像及相关音频信息的通用编码技术。它详细...
### ITUH.222(ISO13818-1)中文解析 #### 标题解析 - **ITUH.222(ISO13818-1)中文.pdf**:此标题指出了文档的具体内容为ITU-T制定的标准ITUH.222,该标准与ISO13818-1国际标准相同。这意味着文档提供了关于ITUH.222...
BMA222E是一款由博世传感技术公司生产的数字三轴加速度传感器,它属于微机电系统(MEMS)家族成员之一。本款传感器主要在智能手机、个人数字助理(PDA)以及其他便携式设备中得到广泛应用,通过集成在手机中的MEMS...
《H.222中文版本手册》是一份专为不熟悉英文阅读的用户精心编译的技术文档,旨在详细解析H.222标准的具体内容。H.222标准是国际电信联盟(ITU)制定的一套关于数字视频和音频编码传输的规范,尤其在电视广播领域具有...
6.222版本的更新旨在提升性能和兼容性,适用于不同操作系统环境,包括32位和64位系统,同时引入了云服务功能,使得远程打印和多设备协作变得更加便捷。 在6.222版本中,主要知识点包括: 1. **跨平台兼容性**:...
BMA222E是一款由Bosch Sensortec公司生产的三轴低重力加速度传感器,具有数字输出功能,适用于消费类电子产品应用。它的规格书详细描述了该传感器的技术参数、特点及应用场景。 规格书中的关键特性包括: 1. 超小型...
西门子 PLC CPU222 电路 原理图. 测绘版本 值得参考 ,西门子 PLC CPU222 电路 原理图. 测绘版本 值得参考
SCF222_5G-FAPI_PHY_SPI_Specification.pdf 是 Small Cell Forum 发布的一份技术规范文档,旨在为 5G 小基站的 FAPI PHY SPI 提供统一的技术规范和接口定义。下面是该规范的详细解读: FAPI PHY FAPI(Front-haul ...
Java 1.8.0 OpenJDK 1.8.0.222-2 是一个针对Windows x64平台的开源Java开发工具包,它提供了完整的Java开发环境,包括Java虚拟机(JVM)、Java类库以及用于构建和运行Java应用程序所需的其他组件。这个版本的OpenJDK...