当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 一个以Javascript+xml的树型列表

Javascript
一种表格背景色渐变效果的实现
一组单选按钮radio如何进行控制
Bmail联系人飞来飞去效果
mouseover时显示滚动字幕 特效
window.open()弹出居中的窗口
做网页的一些技巧
背景音乐每次刷新都可以自动更换
Javascript 判断 object 的特定类转载
Javascript的荧光字效果
任意位置显示html菜单
HTTP状态代码以及定义(解释)
JavaScript中“+=”的应用
函数式JavaScript编程指南
如何优化JavaScript脚本的性能
Code:loadScript( )加载js的功能函数
关于实现代码语法标亮 dp.SyntaxHighlighter
JavaScript 学习 - 提高篇
Javascript的IE和Firefox兼容性汇编(zz)
如何判断图片地址是否失效
javascript汉字转拼音的代码

一个以Javascript+xml的树型列表


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 286 ::
收藏到网摘: n/a

这是在www.java2s.com网站下载的一个以Javascript+xml的树型列表,这个列表界面非常的漂亮,但是由于里面内容比较复杂,而现在项目需要用到这个列表,我到现在还没有摸清怎么在里面让点击一个树型的项目转到别的网页里面去,希望有兴趣的朋友一起研究一下。
部分代码如下: 
 <script> 
  
function dtmlXMLLoaderObject(funcObject,dhtmlObject){ 
 this.xmlDoc=""; 
 this.onloadAction=funcObject||null; 
 this.mainObject=dhtmlObject||null; 
 return this; 
}; 
  
 dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){ 
 this.check=function(){ 
 if(!dhtmlObject.xmlDoc.readyState)dhtmlObject.onloadAction(dhtmlObject.mainObject); 
 else{ 
 if(dhtmlObject.xmlDoc.readyState != 4)return false; 
 else dhtmlObject.onloadAction(dhtmlObject.mainObject);} 
}; 
 return this.check; 
}; 
  
  
 dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName){ 
 if(this.xmlDoc.responseXML){var temp=this.xmlDoc.responseXML.getElementsByTagName(tagName);
var z=temp[0];} 
 else var z=this.xmlDoc.documentElement; 
 if(z)return z; 
 alert("Incorrect XML"); 
 return document.createElement("DIV"); 
}; 
  
  
 dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString){ 
 try  

 var parser = new DOMParser(); 
 this.xmlDoc = parser.parseFromString(xmlString,"text/xml"); 

 catch(e){ 
 this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
 this.xmlDoc.loadXML(xmlString); 

 this.onloadAction(this.mainObject); 

 dtmlXMLLoaderObject.prototype.loadXML=function(filePath){ 
 try  

 this.xmlDoc = new XMLHttpRequest(); 
 this.xmlDoc.open("GET",filePath,true); 
 this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this); 
 this.xmlDoc.send(null); 

 catch(e){ 
 if(document.implementation && document.implementation.createDocument) 

 this.xmlDoc = document.implementation.createDocument("","",null); 
 this.xmlDoc.onload = new this.waitLoadFunction(this); 

 else 

 this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
 this.xmlDoc.async="true"; 
 this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this); 

 this.xmlDoc.load(filePath); 

}; 
  
  
function callerFunction(funcObject,dhtmlObject){ 
 this.handler=function(e){ 
 if(!e)e=event; 
 funcObject(e,dhtmlObject); 
 return true; 
}; 
 return this.handler; 
}; 

function getAbsoluteLeft(htmlObject){ 
 var xPos = htmlObject.offsetLeft; 
 var temp = htmlObject.offsetParent; 

 while(temp != null){ 
 xPos+= temp.offsetLeft; 
 temp = temp.offsetParent; 

 return xPos; 

  
function getAbsoluteTop(htmlObject){ 
 var yPos = htmlObject.offsetTop; 
 var temp = htmlObject.offsetParent; 
 while(temp != null){ 
 yPos+= temp.offsetTop