北辰红橡墅:在firefox中不能正确显示的用javascript写的树形结构?急,在线等!

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 05:37:32
在IE中能够显示的用javascript写的树形结构为什么放到firefox中就不能够正确的显示呢?请各位高手帮忙!这是部分代码(在firefox中报错的)

function GoodTree(objName)
{
this.id = "tree_"+objName;
this.obj = objName;
this.length = 0;

this.addTree = addTree;
this.addLine = addLine;

this.addEndTree = addEndTree;

this.endTree = endTree;

document.all.innerHTML += '<div id="stage_'+this.id+'" style="display: none"><table width="100%" border="0" cellspacing="0" cellpadding="0" class="TreeBgColor"><tr><td id="td_'+this.id+'"></td></tr></table></div>';
}

function SubTree(objName,objID)
{
this.obj = objName;
this.id = objID;

this.addTree = addTree;
this.addLine = addLine;

this.addEndTree = addEndTree;

this.length = 0;
}

//---------- 菜单 方法 addTree ------------//

function addTree(explain,title)
{
var subID = this.id + "_" + this.length;
var subObj = this.obj+"["+this.length+"]";

var oldID = "td_"+ this.id;

eval(subObj+"= new SubTree('"+subObj+"','"+subID+"')");

MakeTree(subID,oldID,explain,1,title);

this.length++;

}

function addEndTree(explain,title)
{

var subID = this.id + "_" + this.length;
var subObj = this.obj+"["+this.length+"]";

var oldID = "td_"+ this.id;

eval(subObj+"= new SubTree('"+subObj+"','"+subID+"')");

MakeTree(subID,oldID,explain,0,title);

this.length++;
}

function addLine(explain,url,target,title)
{
var subID = this.id + "_" + this.length;
var oldID = "td_"+ this.id;

MakeLine(subID,oldID,explain,url,target,title);

this.length++;
}

//--------- 完成 菜单 和 消去 变量和 源蓝图 并且输出 -------------//

function endTree(place)
{

var the_stage = eval("stage_"+ this.id);
var obj = eval(place);

obj.innerHTML += the_stage.innerHTML;

document.getElementById("stage_"+ this.id).outerHTML ="";

eval(this.obj+"=null");

}

//-----------菜单的 隐藏 和显示 ------------//

var temp_tree_index = null; //纪录点击的TD的 sourceIndex

function TreeControl(obj)
{
var tr_obj = eval(obj);
var sign_obj = eval("sign_"+obj);

if(temp_tree_index)
{
document.all(temp_tree_index).className = "ExplainOFF"
}

event.srcElement.className = "ExplainON";

temp_tree_index = event.srcElement.sourceIndex;

if(tr_obj.style.display=="none")
{
tr_obj.style.display = "block";
sign_obj.src = TreeImg[0].src;

return;
}
if(tr_obj.style.display=="block")
{
tr_obj.style.display = "none";
sign_obj.src = TreeImg[1].src;

return;
}

}
function LineControl()
{
if(temp_tree_index)
{
document.all(temp_tree_index).className = "ExplainOFF"
}

event.srcElement.className = "ExplainON";

temp_tree_index = event.srcElement.sourceIndex;
}

function SiblingClick()
{
event.srcElement.parentElement.nextSibling.firstChild.click();
}
var One = new GoodTree("One");