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

📄 api.html

📁 html树型结构 html树型结构
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>xyTreeAPI文档</title>
<link href="APIcss/prot_ref.css" type="text/css" rel="stylesheet" />

<script>
	/*
	在两种浏览器上都显示出漂亮的文档真难
	*/
	
	function init(){
	  var tables = document.getElementsByTagName('table');
	  //添加错行的样式背景
	  for(var i=0;i<tables.length; i++){
	    var table = tables[i];
	    var trs = table.getElementsByTagName('tr');
	    for(var j=0;j<trs.length; j++){
	  		if(j%2 == 0){
	  		  trs[j].setAttribute('class','odd');
	  		  trs[j].setAttribute('className','odd');
	  		}
	  	}
	  }
	}
window.onload = init;
</script>

</head>



<body>
作者Email:xieye114@yahoo.com.cn
<br />
<a href="index.html">看详细的例子</a>
<br />
<br />
<br />

<h1 align="center">《xyTree4.12使用手册》</h1>

<a name="gaishu:"><!-- --></a>
	<h2>概述:</h2>
	为了在HTML页面中使用树,我写了这几个js文件,参照了国外网站的xTree,
	图片也基本是用它的,生成的DOM结构也和它几乎一样,只是代码彻底的不同。
	<br />载入文件的图片loading.gif从流行框架ext拷贝而来
<br />&nbsp;&nbsp;&nbsp;这个树的组件主要有:
<br />6个js程序文件
<br />1个css文件
<br />1个images文件夹,内有几张图片
<br />用户自己的数据文件,可以搞成js文件形式,也可以在java程序中写好,传给jsp。

	<div class="bold">主要不同点:</div>
	&nbsp;&nbsp;&nbsp;&nbsp;我有复选框。<br/>
	&nbsp;&nbsp;&nbsp;&nbsp;xTree是在初始化树时,就把DOM结构全部生成,(所以初始化慢,点击节点快)。
	<br />&nbsp;&nbsp;&nbsp;&nbsp;xyTree是当点击加号时,生成DOM结构,点击减号就隐藏,
	再点击加号时只是简单的去掉隐藏,所有如某个节点下有多个节点,
	第一次点击会稍慢些。(所以初始化快,点击节点稍慢,但可接收)
	<div class="bold">另外:</div>
<ul>
		<li>在IE6.0和FireFox2.0测试通过,一个字,快!</li>
		<li>请仔细看文档最后的版本更新说明</li>
		<li>如想使用,只需把xyTree文件夹拷贝出来即可,数据文件要自己写,或用java/jsp生成</li>
		<li>要简单,没有运行时删除节点的方法,但有了动态添加节点的功能</li>
		<li>不能拖动</li>
		<li>点击节点会有反应,可以自己写函数</li>
		<li>后缀是Normal的类用于普通树,另外3个用于复选框树</li>
		<li>如果某个页面要同时出现这两种树,就加载6个js文件,否则加载3个</li>
		<li>样式表xtree.css通用</li>
		<li>6个类之间没有继承关系,其实不好,有组合关系,下一个版本就使用继承</li>
		<li>基于对象的使用方式,可以在页面中放置任意棵树,互相不会受影响。</li>
		<li>完全开源</li>
		<li>使用命名空间xyTree</li>
		<li>只要发挥想象力,还可以有很多方法可以添加,主要看业务需求</li>
    <li>这一版无复选框树有部分功能仍未实现,下一版本4.2会使用继承的语法统统实现</li>
    <li>关于动态添加节点的说明参见<a href="#DivTree">DivTree</a></li>
    
</ul>		
	

<br />
<br />
<br />
<br />


<a name="leiyilan"><!-- --></a>
<h2>类一览</h2>
<p>
	<a href="#DivTreeNormal">DivTreeNormal</a><br/>
	<a href="#TreeNormal">TreeNormal</a><br/>
	<a href="#NodeNormal">NodeNormal</a><br/><br/>
	<a href="#DivTree">DivTree</a><br/>
	<a href="#Tree">Tree</a><br/>
	<a href="#Node">Node</a>
</p>	
	
<br />
<br />
<br />
<br />




<!-- 第一个类 -->
<a name="DivTreeNormal"><!-- --></a>
<h2>类 DivTreeNormal</h2>

<h6>	DivTreeNormal代表普通树。(有部分功能暂未实现,下一版补齐)</h6>
在数据js文件中添加节点时必须按顺序,以下代码会产生错误:
<pre style="font:normal 12px 'Courier New';">node1 = new xyTree.Node('下关分局');
node1.id = 1;
tree1.add(node1);

node222 = new xyTree.Node('玄武分局');
node222.id = 3;
tree1.add(node222);

node2 = new xyTree.Node('下关派出所1');
node2.id = 2;
node1.add(node2);
</pre>
以下代码是正确的:
<pre style="font:normal 12px 'Courier New';">node1 = new xyTree.Node('下关分局');
node1.id = 1;
tree1.add(node1);

node2 = new xyTree.Node('下关派出所1');
node2.id = 2;
node1.add(node2);

node222 = new xyTree.Node('玄武分局');
node222.id = 3;
tree1.add(node222);
</pre>	
1)必须以深度遍历的方式初始化树的所有节点
<br/>2)如想修改单击节点的反应要自己写回调函数,见HTML示例
<br/>3)点击根节点图标,会收缩,再点击,展开
<br/>4)根节点图片和一般节点的缺省图片都可以换,如果不喜欢那个文件夹的话,在本类中修改全局变量xyTree.TreeConfig即可	
<br/>5)也可以用img属性替节点指定不同的图片
	
	<br />下面给出了一个最简单的例子: 

<pre class="code" ><code style="FONT-FAMILY: 'Courier New';">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; 
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=gb2312&quot; /&gt;
&lt;title&gt;xyTree&lt;/title&gt;
&lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;xyTree/xtree.css&quot; /&gt; 
&lt;script src=&quot;xyTree/TreeNormal.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;xyTree/NodeNormal.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;xyTree/DivTreeNormal.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data_example3.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
function init(){
  document.getElementById('ceshi3').appendChild(Content.div);
  Content.init();
}
window.onload = init; 
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;div id=&quot;ceshi3&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
 
<h4>另请参见:</h4>
<p>
	<a href="#DivTree">DivTree</a>
</p>
	
<table class="reference" cellspacing="0" border="1" >
  <tbody>
  <tr>
    <th>域和方法</th>
    <th>返回值</th>
    <th>参数</th>
    <th>描述</th></tr>
  <tr>
    <td>DivTreeNormal(String name)</td>
    <td>构造方法,返回一个DivTreeNormal对象</td>
    <td>name:根节点名称</td>
    <td>
    	建立一个普通树对象。
    	</td></tr>
  <tr>
    <td>DivTreeNormal(String name,String img)</td>
    <td>构造方法,返回一个DivTreeNormal对象</td>
    <td>name:根节点名称<br/>img:用户指定的根节点图标</td>
    <td>
    	建立一个普通树对象。并指定了根节点图标
    	</td></tr>
  <tr>
    <td>tree</td>
    <td>TreeNormal</td>
    <td>(none)</td>
    <td>
    	只读域,获得树的包含所有节点的对象
    	</td></tr>
  <tr>
    <td>div</td>
    <td>HTMLElement</td>
    <td>(none)</td>
    <td>
    	只读域,获得树的div对象
    	</td></tr>
  <tr>
    <td>init()</td>
    <td>(none)</td>
    <td>(none)</td>
    <td>
    	把树的第1级节点显示出来,只用于初始化时
    	</td></tr>
  <tr>
    <td>init(Function funa,Function funb)</td>
    <td>(none)</td>
    <td>funa:单击节点的回调函数,funb:单击根节点的回调函数</td>
    <td>
      把树的第1级节点显示出来,只用于初始化时,并指定单击(根)节点的回调函数
      </td></tr>
  <tr>
    <td>add(NodeNormal node)</td>
    <td>(none)</td>
    <td>node:待添加的1级节点</td>
    <td>
    	给树添加第一级节点
    	</td></tr>
  <tr>
    <td>defaultClickRootNode()</td>
    <td>(none)</td>
    <td>(none)</td>
    <td>默认的单击根节点的响应方法
    	</td></tr>
  <tr>
    <td>defaultClickNode(Node node)</td>
    <td>(none)</td>
    <td>node:被点击的节点</td>
    <td>默认的单击节点的响应方法
    	</td></tr>
  <tr>
    <td>hideTreeBody()</td>
    <td>(none)</td>
    <td>(none)</td>
    <td>隐藏树身
    	</td></tr>
  <tr>
    <td>showTreeBody()</td>
    <td>(none)</td>
    <td>(none)</td>
    <td>显示树身
    	</td></tr>
	</tbody>
</table>









<!-- 第2个类 -->
<br /><br /><br /><br /><br />
<a name="TreeNormal"><!-- --></a>
<h2>类 TreeNormal</h2>
<h6>	TreeNormal代表普通树的数据结构,可以获得数组形式的所有节点和树形式的所有节点,可以获得包含自己的树对象。
</h6>

<h4>另请参见:</h4>
<p>
	<a href="#DivTreeNormal">DivTreeNormal</a><br />
	<a href="#NodeNormal">NodeNormal</a>
</p>
<table class="reference" cellspacing="0" border="1" >
  <tbody>
  <tr>
    <th>域和方法</th>
    <th>返回值</th>
    <th>参数</th>
    <th>描述</th></tr>
  <tr>
    <td>treename</td>
    <td>Stirng</td>
    <td>(none)</td>
    <td>
    	只读域,获得树的根节点名称
    	</td></tr>
  <tr>
    <td>maxlevel</td>
    <td>int</td>
    <td>(none)</td>
    <td>
    	只读域,获得树的最大级别,就是层数
    	</td></tr>
  <tr>
    <td>root</td>
    <td>NodeNormal</td>
    <td>(none)</td>
    <td>
    	只读域,获得树的根节点,然后可以获得所有节点
    	</td></tr>
  <tr>
    <td>divtree</td>
    <td>DivTreeNormal</td>
    <td>(none)</td>
    <td>
    	只读域,获得树
    	</td></tr>
  <tr>
    <td>treeArray</td>
    <td>Array:NodeNormal</td>
    <td>(none)</td>
    <td>
    	只读域,获得树所有节点对应的一个简单的数组
    	</td></tr>

	</tbody>
</table>







<!-- 第3个类 -->
<br /><br /><br /><br /><br />
<a name="NodeNormal"><!-- --></a>
<h2>类 NodeNormal</h2>
<h6>	NodeNormal代表普通节点。</h6>
<pre style="font:normal 12px 'Courier New';">
关于给节点加属性:
如想要加属性name2,
可以在js数据文件中设置相应的属性,如下
node1 = new xyTree.Node('下关分局');
node1.id = 1;
node1.name2 = '分局';
tree1.add(node1);
就可以了,当然,id属性不是必须的.
还有,自己设的属性名不能是parent,tree等下面表中的属性

如果愿意,可以给节点指定不同图标,如下,也是在js数据文件中。
node1 = new xyTree.Node('下关分局');
node1.img = "images/1.gif";
通常情况下,要指定就全指定,要么就都不指定。
</pre>
	
	
	
	<br />
	
 
 
<h4>另请参见:</h4>

⌨️ 快捷键说明

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