?? tree.js
字號(hào):
<script >
function open_url(URL)
{
window.parent.MainFrame.location.href=URL;
}
function TreeItem(text,action)
{
this.text=text;
this.action=action;
this.children=new Array();
this.tree=null;
this.id="";
this.parent=null;
this.addChild=TreeItem_addChild;
}
function Tree_findUnderlines(str)
{
var i,j;
for(i=0,j=0;i<str.length;i++) if(str.charAt(i)==='_') j++;
return j;
}
function TreeItem_addChild()
{
var child;
var i;
for(i=0;i<arguments.length;i++)
{
child=arguments[i];
this.children[this.children.length]=child;
child.id=this.id+"_"+(this.children.length-1);
child.tree=this.tree;
child.parent=this;
}
}
function Tree_show()
{
var rowStr="<tr height="+this.itemHeight+" style='background:"+this.itemBackground;
var rowDisplay=rowStr+";display:;'><td nowrap id=";
var rowHide=rowStr+";display:none;'><td nowrap id=";
var collapseStr="<img height="+this.itemHeight+" width="+this.itemHeight+" align=absmiddle style='cursor:hand;'onclick='"+this.name+".click(this.parentNode.id);' src='";
var collapseStr1=collapseStr+this.UNFOLD_IMG+"'>";
var collapseStr2=collapseStr+this.FOLDER_IMG+"'>";
var collapseStr3=collapseStr+this.FILE_IMG+"'>";
var actionStr="<a onmouseover='this.style.color=\""+this.itemOverColor+"\";' "+
"onmouseout='this.style.color=\""+this.itemColor+"\";' "+
"style='color:"+this.itemColor+";cursor:hand;font-family:times new roman;font-size:"+
(this.itemHeight*9/20)+"pt;' onclick='"+this.name+".click(this.parentNode.id);'>";
var indentStr="<img align=absmiddle width="+this.itemHeight+" height="+this.itemHeight+" src='";
var indentStrLine=indentStr+this.LINE_IMG+"'>";
var indentStrEmpty=indentStr+this.EMPTY_IMG+"'>";
var indentStrUpLine=indentStr+this.UPLINE_IMG+"'>";
var indentStrMiddleLine=indentStr+this.MIDDLELINE_IMG+"'>";
var temp="";
var n,i,top,stack,parent,chain=new Array(),tail;
//this.root.addChild(this.selfItem);
//this.selfItem.addChild(this.versionsItem,this.referenceItem);
document.write("<table cellspacing=0 cellpadding=0 bgcolor='#B2DCF7' style='table-layout:fixed;'>");
stack=new Array();
stack[0]=this.root;
while(stack.length>0)
{
top=stack[stack.length-1];
stack.length--;
n=this.findUnderlines(top.id);
if(n<2) temp=rowDisplay+top.id+">";
else temp=rowHide+top.id+">";
chain.length=0;
tail=top;
while(tail!=null) {chain[chain.length]=tail;tail=tail.parent;}
for(i=chain.length-1;i>=2;i--)
{
if(chain[i-1].id!=chain[i].children[chain[i].children.length-1].id)
temp+=indentStrLine;
else
temp+=indentStrEmpty;
}
if(n>1 && top.id==top.parent.children[top.parent.children.length-1].id)
temp+=indentStrUpLine;
else if(n>1)
temp+=indentStrMiddleLine;
if(top.children.length>0)
if(n==0)temp+=collapseStr1;
else temp+=collapseStr2;
else temp+=collapseStr3;
temp+=(actionStr+top.text+"</a></td></tr>");
for(i=top.children.length-1;i>=0;i--) stack[stack.length]=top.children[i];
document.write(temp);
}
document.write("</table>");
}
var last_item; //記錄上次點(diǎn)擊的樹
var last_e; //記錄上次點(diǎn)擊的元素
function Tree_click(itemID)
{
var length;
var e=window.event.srcElement;
var item=this.findItem(itemID);
//執(zhí)行子節(jié)點(diǎn)
if(e.tagName.toLowerCase()==="a") eval(item.action);
//打開父節(jié)點(diǎn)
else
{
var i,s;
if(item.children.length>0)
{
if(e.src.indexOf(this.FOLDER_IMG)>=0)
{
if(last_item!=null&&last_item!="")
Close_lasttree(last_item); //將上次打開的樹關(guān)閉
e.src=this.UNFOLD_IMG;
last_e = e; //記錄上次點(diǎn)擊的元素
last_item = item; //記錄上次點(diǎn)擊的樹
var stack=new Array();
length=item.children.length;
for(i=length-1;i>=0;i--)stack[stack.length]=item.children[i];
var top;
while(stack.length>0)
{
top=stack[stack.length-1];stack.length--;
document.all(top.id).parentNode.style.display="";
if(top.children.length>0 &&
document.all(top.id).lastChild.previousSibling.src.indexOf(this.UNFOLD_IMG)>=0)
for(i=top.children.length-1;i>=0;i--)stack[stack.length]=top.children[i];
}
}
//關(guān)閉父節(jié)點(diǎn)
else
{
e.src=this.FOLDER_IMG;
var stack=new Array();
for(i=item.children.length-1;i>=0;i--)
stack[stack.length]=item.children[i];
var top;
while(stack.length>0)
{
top=stack[stack.length-1];stack.length--;
document.all(top.id).parentNode.style.display="none";
for(i=top.children.length-1;i>=0;i--) stack[stack.length]=top.children[i];
}
}
}
}
if(this.elementClicked.length!=0)
document.all(this.elementClicked).lastChild.style.background=this.itemBackground;
this.elementClicked=itemID;
document.all(this.elementClicked).lastChild.style.background=this.selectedItemBackground;
}
//將上次打開的樹關(guān)閉
function Close_lasttree(item)
{
//將上次打開的樹的圖片換過來
if(last_e!=null&&last_e!="")
last_e.src ="web_page/images/fold.gif";
//將上次打開的樹的子節(jié)點(diǎn)隱藏
if(item.children.length>0)
{
var stack=new Array();
for(i=item.children.length-1;i>=0;i--)
stack[stack.length]=item.children[i];
var top;
while(stack.length>0)
{
top=stack[stack.length-1];stack.length--;
document.all(top.id).parentNode.style.display="none";
for(i=top.children.length-1;i>=0;i--) stack[stack.length]=top.children[i];
}
}
}
function Tree_findItem(id)
{
var root=this.root;
var item=root;
if(item.id==id) return item;
var i;
for(i=0;i<root.children.length;i++)
{
item=root.children[i];
if(item.id==id) return item;
if(this.findUnderlines(item.id)>this.findUnderlines(id)) return null;
if(id.indexOf(item.id)==0 && id.charAt(item.id.length)=='_')
{
i=-1;root=item;
}
}
return null;
}
</script>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -