📄 api.html
字号:
<p>
<a href="#DivTreeNormal">DivTreeNormal</a><br />
<a href="#TreeNormal">TreeNormal</a>
</p>
<table class="reference" cellspacing="0" border="1" >
<tbody>
<tr>
<th>域和方法</th>
<th>返回值</th>
<th>参数</th>
<th>描述</th></tr>
<tr>
<td>name</td>
<td>Stirng</td>
<td>(none)</td>
<td>
只读域,节点名称,也就是在页面的显示
</td></tr>
<tr>
<td>img</td>
<td>Stirng</td>
<td>(none)</td>
<td>
可读写域,节点的图标路径,初始化节点时指定或者不指定
</td></tr>
<tr>
<td>parent</td>
<td>NodeNormal</td>
<td>(none)</td>
<td>
只读域,获得节点的父节点,只有根节点的该属性值为null
</td></tr>
<tr>
<td>previous</td>
<td>NodeNormal</td>
<td>(none)</td>
<td>
只读域,获得节点的前一个节点
</td></tr>
<tr>
<td>next</td>
<td>NodeNormal</td>
<td>(none)</td>
<td>
只读域,获得节点的下一个节点
</td></tr>
<tr>
<td>child</td>
<td>Array</td>
<td>(none)</td>
<td>
只读域,获得节点的子节点,数组成员类型还是NodeNormal
</td></tr>
<tr>
<td>level</td>
<td>int</td>
<td>(none)</td>
<td>
只读域,获得节点的级别,根节点为0
</td></tr>
<tr>
<td>tree</td>
<td>TreeNormal</td>
<td>(none)</td>
<td>
只读域,获得节点的树对象,如要获得最外层的树则使用node.tree.divtree
</td></tr>
<tr>
<td>add(NodeNormal node)</td>
<td>(none)</td>
<td>node:待添加的节点</td>
<td>
给节点添加子节点
</td></tr>
</tbody>
</table>
<!-- 第4个类 -->
<br /><br /><br /><br /><br />
<a name="DivTree"><!-- --></a>
<h2>类 DivTree</h2>
<h6> DivTree代表复选框树。</h6>
使用和<a href="#DivTreeNormal">DivTreeNormal</a>一样,只是方法多了几个。
<br/>
<ul>
<li style="margin:5px;">
脚本是一种很自由的东西,有些功能在DivTree类中实现,有些功能在Node类中实现,还有些功能在
两个类里面都实现,不过是一个类的方法里只有一句话,调用另一个类的方法。
</li>
<li style="margin:5px;">
init()方法的实现和以前不同了,有默认的行为
</li>
<li style="margin:5px;">
addDynamic()方法注意要添加子节点的节点自己必须已经被加载到树中,<br/>
不能这样:定义两个节点,并把一个定义为另一个的父节点,再把父节点加载到树中<br/>
应该这样:定义一个节点,加载到树中,再定义一个节点,加载到刚才节点下面
</li>
<li style="margin:5px;">
最简单省事的办法,我建议在用户访问页面时一次性加载所有节点,或干脆和我一样写成js数据文件,而不要动态添加节点。
<br style="margin:5px;"/>如果仍然希望在用户点击节点时通过ajax动态添加节点,这个应该还是可以的,不过要:
<br style="margin:5px;"/>(1) 在从数据库读取每个节点时,同时获取它有无子节点,并保存在客户端的树节点的自定义属性中
<br style="margin:5px;"/>(2) 自己写树的点击节点的事件,脚本判断这个节点是否有子节点,(通过自定义属性)
<br style="margin:5px;"/>(2-1)无,什么都不做
<br style="margin:5px;"/>(2-2)有,当前客户端树的被点击节点有子节点吗?
<br style="margin:5px;"/>(2-2-1)有则直接显示(调用树的expandNode()方法,传的参数应该是任意一个子节点),或什么都不做
<br style="margin:5px;"/>(2-2-2)无则用ajax访问数据库,得到节点并生成Node对象,再调用父节点的addDynamic()方法动态添加并会自动显示。
</li>
</ul>
<h4>另请参见:</h4>
<p>
<a href="#DivTreeNormal">DivTreeNormal</a>
</p>
<table class="reference" cellspacing="0" border="1" >
<tbody>
<tr>
<th width="15%">域和方法</th>
<th width="25%">返回值</th>
<th width="25%">参数</th>
<th width="35%">描述</th></tr>
<tr>
<td>DivTree(String name)</td>
<td width="">构造方法,返回一个xyTree.DivTree对象</td>
<td width="">name:根节点名称</td>
<td width="">
建立一个复选框树对象。
</td></tr>
<tr>
<td>DivTree(String name,String img)</td>
<td>构造方法,返回一个xyTree.DivTree对象</td>
<td>name:根节点名称<br/>img:用户指定的根节点图标</td>
<td>
建立一个复选框树对象。并指定了根节点图标
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>tree</td>
<td>xyTree.Tree</td>
<td>(none)</td>
<td>
只读域,获得树的节点数组对象
</td></tr>
<tr>
<td>div</td>
<td>HTMLElement:div</td>
<td>(none)</td>
<td>
只读域,获得树的DOM对象
</td></tr>
<tr>
<td>add(xyTree.Node node)</td>
<td>(none)</td>
<td>node:待添加的1级节点</td>
<td>
给树添加第一级节点
</td></tr>
<tr>
<td>addDynamic(xyTree.Node node)</td>
<td>(none)</td>
<td>node:动态添加的一级节点</td>
<td>
给树动态添加一级节点,页面上立刻显示,背景渐变
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>addDynamic(Array:xyTree.Node arr)</td>
<td>(none)</td>
<td>arr:动态添加的一级节点数组</td>
<td>
给树动态添加一批一级节点,页面上立刻显示,背景渐变
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>expandNode(xyTree.Node node)</td>
<td>(none)</td>
<td>node:将要显示的节点</td>
<td>树显示指定的节点,有默认的背景渐变时间是300
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>expandNode(xyTree.Node node,int ms)</td>
<td>(none)</td>
<td>node:将要显示的节点,ms:渐变的毫秒间隔</td>
<td>树显示指定的节点,背景渐变
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>expandCheckedNode(xyTree.Node node)</td>
<td>(none)</td>
<td>node:将要显示的节点</td>
<td>树显示指定的节点并选中,背景渐变,有默认的背景渐变时间是300
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>expandCheckedNode(xyTree.Node node,int ms)</td>
<td>(none)</td>
<td>node:将要显示的节点,ms:渐变的毫秒间隔</td>
<td>树显示指定的节点并选中,背景渐变
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>findOneNodeByName(String name)</td>
<td>xyTree.Node</td>
<td>name:想找的节点名称</td>
<td>根据名称得到一个节点,如果树有重复名称的节点,则只返回先加载到树里的那一个。
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>findOneNodeById(String | int id )</td>
<td>xyTree.Node</td>
<td>id:想找的节点id,是用户自己定义的</td>
<td>根据id寻找一个节点,用户必须给每个节点设id属性,并保证它的唯一性
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>getNodes()</td>
<td>Array:xyTree.Node</td>
<td>(none)</td>
<td>返回节点数组,不含子节点,较常用
</td></tr>
<tr>
<td>getNodesAll()</td>
<td>Array:xyTree.Node</td>
<td>(none)</td>
<td>返回节点数组,全部
</td></tr>
<tr>
<td>getNodesMoji()</td>
<td>Array:xyTree.Node</td>
<td>(none)</td>
<td>返回节点数组,末级节点,不一定最后一层
</td></tr>
<tr>
<td>getNodesDisplay()</td>
<td>Array:xyTree.Node</td>
<td>(none)</td>
<td>返回节点数组,正在显示的最末级节点。也就是说,看不到的节点即便它被选中了,也不会返回
<br/>从以下版本开始:4.11
</td></tr>
<tr>
<td>hideTreeBody()</td>
<td>(none)</td>
<td>(none)</td>
<td>隐藏树身
</td></tr>
<tr>
<td>init()</td>
<td>(none)</td>
<td>(none)</td>
<td>
把树的第1级节点显示出来,只用于初始化时。有默认的点击节点的方法,
默认为点击复选框。<br/>
通常状况下用户会在网页初始化程序中调用
</td></tr>
<tr>
<td>init(Function funa,Function funb)</td>
<td>(none)</td>
<td>funa:单击节点的回调函数,funb:单击根节点的回调函数</td>
<td>
把树的第1级节点显示出来,只用于初始化时,并指定单击(根)节点的回调函数
<br/>通常状况下用户会在网页初始化程序中调用
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>initClearAllCheckBox()</td>
<td>(none)</td>
<td>(none)</td>
<td>清除节点的选中状态
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>initTreeForm()</td>
<td>(none)</td>
<td>(none)</td>
<td>树的形状复位
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>initReset()</td>
<td>(none)</td>
<td>(none)</td>
<td>树的完全复位,等同于最开始加载状态,实际上是连续执行了上面两个方法
<br/>从以下版本开始:4.1
</td></tr>
<tr>
<td>isSelectAll()</td>
<td>boolean</td>
<td>(none)</td>
<td>所有节点是否都被选中,是则true
</td></tr>
<tr>
<td>showTreeBody()</td>
<td>(none)</td>
<td>(none)</td>
<td>显示树身
</td></tr>
</tbody>
</table>
<!-- 第5个类 -->
<br /><br /><br /><br /><br />
<a name="Tree"><!-- --></a>
<h2>类 Tree</h2>
<h6> Tree代表复选框树的数据结构,可以获得数组形式的所有节点和树形式的所有节点,可以获得包含自己的树对象。
</h6>
公共属性和<a href="#TreeNormal">TreeNormal</a>一样,
<h4>另请参见:</h4>
<p>
<a href="#DivTree">DivTree</a><br />
<a href="#Node">Node</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>xyTree.Node</td>
<td>(none)</td>
<td>
只读域,获得树的根节点,然后可以获得所有节点
</td></tr>
<tr>
<td>divtree</td>
<td>xyTree.DivTree</td>
<td>(none)</td>
<td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -