📄 deeptree2.htc
字号:
<public:component>
<public:attach event="ondocumentready" onevent="Init()" />
<public:attach event="onclick" onevent="MouseClick()" />
<public:attach event="onmouseover" onevent="MouseOver()" />
<public:attach event="onmouseout" onevent="MouseOut()" />
<public:attach event="onselectstart" onevent="SelectStart()"/>
<public:method name="PreLoad"/>
<script language="JScript">
/************************************
*************************************/
var oCurrentNode=null; //高亮度显示时当前节点
var oTempClass=null; //定义鼠标样式的临时变量
var icon={
leaf:"images/file.gif",
close:"images/folder.gif",
open:"images/folderopen.gif"
}
var Config={
loading:"正在加载,请稍候...", //加载时显示信息
unavaible:"加载失败,请检查...", //加载失败时显示信息
Service:"server2.asp", //节点数据文件
SyncXSLsrc:"deeptree2.xsl", //一次加载时xsl文件
isExpandOne:false
}
/* 预下载图片 */
function PreLoad(n){
for(i in icon){
var tem=n?icon[i]:icon[i].src
icon[i]=new Image()
icon[i].src=tem
}
setTimeout("document.all('"+element.uniqueID+"').PreLoad()",10000)
}
PreLoad(true)
/* 加载xsl文件 */
var xsldoc=new ActiveXObject("Microsoft.XMLDOM")
xsldoc.async=false
xsldoc.load(Config.SyncXSLsrc)
/* 显示加载的状态(加载中或加载失败) */
function StateXML(state){
var str="<message txt='"+state+"'/>"
var doc=new ActiveXObject("Microsoft.XMLDOM")
doc.async=false
doc.loadXML(str)
return doc.transformNode(xsldoc)
}
/* 加载初始化 */
function Init(){
GetXml(element,0)
}
/* 异步,动态的加载数据 */
function GetXml(objContainer,id){
var XmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
objContainer.innerHTML=StateXML(Config.loading)
objContainer.send="true"
XmlHttp.onreadystatechange=function(){
if(XmlHttp.readyState==4){
if(XmlHttp.status==200){
var Xmldoc=XmlHttp.responseXML
if(Xmldoc.documentElement.hasChildNodes())
objContainer.innerHTML=Xmldoc.transformNode(xsldoc)
else
objContainer.innerHTML=StateXML(Config.loading)
}
else
objContainer.innerHTML=StateXML(Config.unavaible)
}
}
XmlHttp.open("get",Config.Service+'?id='+id+'&tem'+Math.random(),true)
XmlHttp.send()
}
/* 选择节点,让节点高亮度显示 */
function SelectNode(obj,open){
var objNode=GetElement(obj,"span")
var oLink=GetElement(objNode,"a")
if(!oCurrentNode){
oCurrentNode=objNode
objNode.className="HighLight"
}
else{
oCurrentNode.className=oCurrentNode.type=="load"?"load":""
objNode.className="HighLight"
oCurrentNode=objNode
}
window.status=objNode.innerText
if(oLink!=null&&open)window.open(oLink.href,oLink.target)
}
/* 鼠标事件定义 */
function MouseClick(){
var RealObj=window.event.srcElement
if(RealObj.tagName.toUpperCase()=="A"){
objSpan=RealObj.parentElement
if(objSpan.type=="label"){
RealObj.blur()
var objNode=objSpan.parentElement
SelectNode(objNode)
Toggle(objNode)
}
}
else if(RealObj.type=="img"){
var objNode=RealObj.parentElement
if(objNode){
if(objNode.type=="leaf"){
SelectNode(objNode,true)
}
else
Toggle(objNode)
}
}
else if(RealObj.type=="label"||RealObj.type=="load"){
var objNode=RealObj.parentElement
SelectNode(objNode,true)
Toggle(objNode)
}
return true
}
function MouseOver(){
var RealObj=window.event.srcElement
if(RealObj.tagName.toUpperCase()=="A")
RealObj=RealObj.parentElement
if(RealObj){
if(RealObj.type=="label"||RealObj.type=="load"){
oTempClass=RealObj.className
RealObj.className="MouseOver"
}
}
return true
}
function MouseOut(){
var RealObj=window.event.srcElement
if(RealObj.tagName.toUpperCase()=="A")
RealObj=RealObj.parentElement
if(RealObj){
if(RealObj.type=="label"||RealObj.type=="load"){
if(RealObj==oCurrentNode)
RealObj.className="HighLight"
else
RealObj.className=oTempClass
}
}
return true
}
/* 得到所需元素 */
function GetElement(objParent,objTag){
var objNode=null
var oChildren=objParent.children
if(oChildren){
for(i=0;i<oChildren.length;i++){
if(oChildren[i].tagName.toUpperCase()==objTag.toUpperCase())
{objNode=oChildren[i];break;}
}
}
return objNode
}
function SelectStart(){
window.event.cancelBubble=true;
window.event.returnValue=false;
return false;
}
/* 节点展开,收拢 */
function Toggle(objNode){
if(objNode.type=="parent"){
if(objNode.open=="false")
ExpandNode(objNode)
else
CollapseNode(objNode)
}
}
function ExpandNode(objNode){
var oImg=GetElement(objNode,"img")
var oNode=GetElement(objNode,"span")
var oChild=objNode.nextSibling
oImg.src=icon.open.src
oChild.style.display=""
objNode.open="true"
if(oChild.send=="false")GetXml(oChild,objNode.uid)
if(Config.isExpandOne){
var oContainer=objNode.parentElement
var oChildren=oContainer.children
for(i=0;i<oChildren.length;i++)
if(oChildren[i].open=="true"&&oChildren[i]!=objNode)CollapseNode(oChildren[i])
}
}
function CollapseNode(objNode){
var oImg=GetElement(objNode,"img")
var oNode=GetElement(objNode,"span")
var oChild=objNode.nextSibling
oImg.src=icon.close.src
oChild.style.display="none"
objNode.open="false"
}
</script>
</public:component>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -