⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeview.js.bak

📁 用javascript写的树型目录,可加链接
💻 BAK
字号:
//var imgDir="../images/";
var indexOfEntries = new Array;
var nEntries = 0;
var auxs = new Array;
//var folderOpenIcon = "../images/folderOpen.gif";
//var folderCloseIcon = "../images/folderClose.gif";
var currentFolder = -1;

 function returnselectvalue(str)
        {  alert(str);
           // selectvalue=str;
           // parent.returnValue=selectvalue;
           // parent.close()
            }

//var targ = "";
//function setFolderIcon(iOpen, iClose)
function setFolderIcon()
{
	//if(!iOpen)
	//{
	//	iOpen = "folderOpen.gif";
	//	iClose = "folderClose.gif";
	//}

	//if(!iClose)
	//	iClose = iOpen;

	//folderOpenIcon = iOpen;
	//folderCloseIcon = iClose;

	folderOpenIcon = "folderOpen.gif";
	folderCloseIcon = "folderClose.gif";
	//document.write("folderCloseIcon="+folderCloseIcon);
}


function Folder(folderDescription, url)
{
	this.description = folderDescription;
	//this.id = -1;
	//this.navObj = 0;
	//this.iconImg = 0;
	//this.nodeImg = 0;
	//this.isLastNode = 0;
	this.url = url;
	//this.targ = targ;

	//this.isOpen = false;
	this.iconSrc = folderCloseIcon;
	this.iconOpen = folderOpenIcon;
	this.iconClose = folderCloseIcon;
	this.children = new Array;
	this.nChildren = 0;

	this.initialize = initialize;
	this.setState = setState;
	this.addChild = addChild;
	this.createIndex = createEntryIndex;
	this.hide = hide;
	this.display = display;
	this.draw = draw;
//	this.subEntries = folderSubEntries;
}

function setState(isOpen)
{
	//if (isOpen == this.isOpen)
	//	return;
	this.isOpen = isOpen;
	repaint(this);
}



function closeFolderIcon(folder)
{
	folder.iconImg.src = imgDir+folder.iconClose;
	//folder.isOpen = false;
}


function repaint(folder)
{
	var i=0;
	if (folder.isOpen)
	{
		////document.write("folder.isOpen="+folder.isOpen);***true
		////document.write("folder.nodeImg="+folder.nodeImg);***0;undefined
		if (folder.nodeImg)
			if (folder.isLastNode){
				//document.write("folder.nodeImg="+folder.nodeImg);
				//document.write("folder.isLastNode="+folder.isLastNode);
				if(folder.nChildren>0)
					folder.nodeImg.src = imgDir + "Lminus.gif";
			}
			else{
				if( folder.nChildren>0)
					folder.nodeImg.src = imgDir + "Tminus.gif";
			}
			folder.iconImg.src = imgDir + folder.iconOpen;
		for (i=0; i<folder.nChildren; i++)
			folder.children[i].display();

	}
	else
	{
		//document.write("folder.isOpen="+folder.isOpen);
		if (folder.nodeImg)
			if (folder.isLastNode){
				//document.write("folder.nodeImg="+folder.nodeImg);
				if( folder.nChildren>0)
					folder.nodeImg.src = imgDir + "Lplus.gif";
			}
			else{
				if( folder.nChildren>0)
					folder.nodeImg.src = imgDir + "Tplus.gif";
			}
		//folder.iconImg.src = imgDir + folder.iconClose;
		for (i=0; i<folder.nChildren; i++)
			folder.children[i].hide();
	}
}


function createEntryIndex()
{
	this.id = nEntries;
	indexOfEntries[nEntries] = this;
	nEntries++;
}


function initialize(level, lastNode, leftSide)
{
	var j=0;
	var i=0;
	var numberOfFolders;
	var numberOfDocs;
	var nc;

	nc = this.nChildren;
	this.createIndex();

	var auxEv = "";

	//auxEv = "<a href="+this.url;
	auxEv = "<a href="+"#";  //为了分开图片和文字的链接
	//auxEv = "<a class='a-favMenu' href="+this.url;
      /*if( targ.length>0 && this.url != "#"){
			auxEv += " target='"+targ+"' ";
	}*/

	if (this.description!='资源库管理'){
		auxEv += " onclick='return clickOnNode("+this.id+");'";
	}

	auxEv = auxEv + ' title=\"' + this.description +  '\">';

	if (level>0){
		if (lastNode){
			if( nc>0)
				nodeImage = "Lplus.gif";
			else
				nodeImage = "L.gif";
			this.draw(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='" + imgDir + nodeImage+"' width=18 height=18 align=left border=0 vspace=0 hspace=0 border=0>");
			leftSide = leftSide + "<img src='" + imgDir + "blank.gif' width=18 height=18 align=left border=0 vspace=0 hspace=0>";
			this.isLastNode = 1;
		}
		else{
			if( nc>0)
				nodeImage = "Tplus.gif";
			else
				nodeImage = "T.gif";
			this.draw(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='" + imgDir +nodeImage +"' width=18 height=18 align=left border=0 vspace=0 hspace=0 border=0>");
			leftSide = leftSide + "<img src='" + imgDir + "I.gif' width=18 height=18 align=left border=0 vspace=0 hspace=0>";
			this.isLastNode = 0;
			//document.write("leftSide="+leftSide);
			//document.write("auxEv="+auxEv+11);
		}
	}
	else
		this.draw("<a>"+auxEv);
		//document.write("leftSide="+leftSide);
		//document.write("auxEv="+auxEv+11);

	if (nc > 0)
	{
		level = level + 1;
		for (i=0 ; i < this.nChildren; i++)
		{
			if (i == this.nChildren-1)
				this.children[i].initialize(level, 1, leftSide);
			else
				this.children[i].initialize(level, 0, leftSide);
			}
	}
}


function draw(leftSide)
{
	document.write("<table  class='font-default' style='margin-left:2px' ");
	if(this.id==0)
		document.write("id='folder"+ this.id + "' style='display:block;' ");
	else
		document.write(" id='folder"+ this.id + "' style='display:none;' ");
	document.write(" border=0 cellspacing=0 cellpadding=0>");
	document.write("<tr valign=top><td nowrap>");
	document.write(leftSide);
	document.write("<img name='folderIcon" + this.id + "' ");
	document.write("src='" + imgDir + this.iconSrc+"'  width=18 height=18 align=left border=0 vspace=0 hspace=0 border=0>");
	if(this.url != "#"){
		descriptionURL = " <a href='#'  onClick='returnselectvalue(\""+this.url+"\");' >" + this.description ; //为了将图像和文字的链接 区分开
		document.write("</a>" + descriptionURL + "</a>"  );//modify
	}else{
		document.write("</a>" + this.description);//modify
	}
	document.write("</td>");
	document.write("</tr>");
	document.write("</table>");

	this.navObj = eval("folder"+this.id);
	this.iconImg = eval("folderIcon"+this.id);
	if( this.id>0)
		this.nodeImg =  eval("nodeIcon"+this.id);

}

function hide()
{
	if (this.navObj.style.display == "none")
		return;
	this.navObj.style.display = "none";
	this.setState(0);
	var i;
	for(i=0;i<this.nChildren;i++){
		this.children[i].hide();
	}
}

function display()
{
	this.navObj.style.display = "block";
}



function addChild(object)
{
	this.children[this.nChildren] = object;
	this.nChildren++;
	return object;
}


function clickOnNode(folderId)
{
	var clickedFolder = 0;
	var state = 0;
	var prevFolder ;
	if( currentFolder!=-1 && (currentFolder != folderId)){
		prevFolder = indexOfEntries[currentFolder];
		closeFolderIcon(prevFolder);
	}
	clickedFolder = indexOfEntries[folderId];
	state = clickedFolder.isOpen;
	if( clickedFolder.children.length>0 ){
		currentFolder = clickedFolder.id;
		clickedFolder.setState(!state);
	}
	else if(clickedFolder.children.length==0 && currentFolder!=folderId){
		currentFolder = clickedFolder.id;
		clickedFolder.setState(!state);
	}
	//if(!folderId)clickedFolder.setState(state);
	return true;
}

function treeMenuAddItem(level, description, url)
{
	if(level)
		auxs[level] = auxs[level - 1].addChild(new Folder(description, url));
	else
		auxs[0] = new Folder(description,url);
}



function initializeDocument(){
	var foldersTree;
	foldersTree = auxs[0];
	foldersTree.initialize(0, 1, "");
}
//	loadImages();
//	foldersTree = auxs[0];
//	foldersTree.initialize(0, 1, "");
	//alert(auxs[0]);
document.onmousemove = moveIt;
function moveIt(){
  return false;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -