阿信树初始化时全部展开,请各位帮帮小弟!

bobocn 2005-07-12 05:09:20
小弟对java知之甚少,看不懂阿信树的源代码,不知道怎么实现在网页初始化时全部展开树,请各位帮帮小弟!非常急切!
...全文
138 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobocn 2005-07-19
  • 打赏
  • 举报
回复
问题已解决。谢谢各位!
bobocn 2005-07-12
  • 打赏
  • 举报
回复
楼上的大哥能说具体一点吗?
bobocn 2005-07-12
  • 打赏
  • 举报
回复
这是deeptree.htc 源文件,我也试着设置过true,false值,也不行。

<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">
/************************************

Author:fason(阿信)[蒲佛信]
Date:2003-8-27
Email:fason_pfx@hotmail.com

CopyRight @ All rights reserved

*************************************/
var oCurrentNode=null;//高亮度显示时当前节点
var oTempClass=null;//定义鼠标样式的临时变量

var icon={
leaf:"image/file.gif",
close:"image/folder.gif",
open:"image/folderopen.gif"
}
var Config={
loading:"正在加载,请稍候...",//加载时显示信息
unavaible:"加载失败,请检查...",//加载失败时显示信息
Service:"server.asp",//节点数据文件
SyncXSLsrc:"deeptree.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>
life360 2005-07-12
  • 打赏
  • 举报
回复
他那里好象有一个地方点一下可以全部展开树的。你看哪个代码,网页初始化时执行就可以了
kelebing 2005-07-12
  • 打赏
  • 举报
回复
应该有个Expand属性吧,设为true就可以了吧

28,405

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧