IT教程 | 加入收藏 | 简体 | 繁体
Tangram教程:JavaScript...JQuery教程ExtJS教程Tangram教程Ajax教程
当前位置: 首页 > Js+Ajax > Tangram教程

baidu.ui.Tree.TreeNode 树节点类TreeNode

2012-08-04来源:[www.121ask.com]热度:0℃ 【字体:

baidu.ui.Tree.TreeNode

树节点类TreeNode

  语法: new baidu.ui.Tree.TreeNode(options)  

返回值:<instance> 实例对象

  参数

<Object> * options  
<Boolean>    options.isExpand 是否是展开, 默认值为false
<Array>    options.children 子节点options数组 默认值为null
<Boolean>    options.isRoot 是否是根节点,默认值为false
<Boolean>    options.type 节点类型 trunk|leaf, 默认值为'leaf'
<String>    options.id 节点的唯一标识ID。默认为null
<String>    options.text 节点显示名称. 默认值为null
<String>    options.href 节点的链接href. 默认值为null
<String>    options.target 节点链接的target,有href的时候才生效。默认值为null
<String>    options.icon 节点图标的路径. 默认值为null
<String>    options.skin 节点样式选择符. 默认值为null
<Boolean>    options.isToggle 是否支持节点展开或收起 默认值为true

实例方法

<TreeNode> getParentNode() 取得节点的父节点
<void> setParentNode(...) 设置节点的父节点
<Array> getChildNodes() 取得节点的子节点数组
<void> setTree(...) 设置节点的对应的Tree
<Tree> getTree() 取得节点的对应的Tree
<void> appendData(...) 增加一组children数据。数据格式:[{text:"",href:"",children:[{text:"",href:""},{text:"",href:""}]},{text:""},{text:""}]可以数组里面嵌套数组
<void> isParent(...) 递归判断本节点是否是传进来treeNode的父节点
<void> appendTo(...) 将已有节点添加到目标节点中,成为这个目标节点的子节点。
<void> moveTo(...) 将此节点移动至一个目标节点,成为这个目标节点的next节点
<TreeNode> appendChild(...) 新增一个子节点,1.先判断子节点是否被渲染过,如果渲染过,就将子节点append到自己subNodes容器里,否则就inertHTML的子节点的getString,2.对parentNode与childNodes进行变更, 3.更新treeNode与tree的update。
<void> removeAllChildren() 批量删除一个节点下的所有子节点
<void> removeChild(...) 删除一个子节点1.删除此节点对象的数据结构2.删除此节点所对应的dom元素对象
<void> update(...) 更新节点的一系列属性1.如有text,就更新text.2.如有icon
<void> expand() 展开节点分步渲染。第一次expand会渲染节点
<void> collapse() 收起节点
<void> toggle() 切换,收起或者展开
<void> blur() 失去焦点,让当前节点取消高亮。
<void> focus() 取得焦点,并且让当前节点高亮,让上一节点取消高亮。
<void> hide() 隐藏节点,但不包括它的子节点。
<void> show() 显示节点。
<void> expandAll() 递归展开所有子节点
<void> collapseAll() 递归收起所有子节点
<int> getIndex() 取得本节点所对应父节点的索引
<TreeNode> getNext() 取得本节点的下一个节点如果没有就返回自己
<TreeNode> getPrevious() 取得本节点的上一个节点如果没有就返回自己
<TreeNode> getFirstChild() 取得本节点的第一个子节点如果没有就返回null
<TreeNode> getLastChild() 取得本节点的最后一个子节点如果没有就返回null
<Boolean> isLastNode(...) 是否是最后一个节点在初始渲染节点的时候,自己维护了一个_isLast,就不用去动态算是否是最后一个子节点。而在动态新增,删除节点时,动态的处理是否是最后一个节点能方便代码实现,这样做的目的既能保证初始化时的性能,也能够方便动态功能的实现。.

 [NextPage]

实例:

<body>
 
<div id="treeId" style="padding: 50px;"></div>
 
</body>
 
<script type="text/javascript">
 
var instance = new baidu.ui.Tree({data: {id: "root", type:"", text: "根节点", children: [{id: "rsid0", type:"trunk", text: "节点-0(节点id:rsid0)", children: [{id: "rsid00", type:"leaf", text: "子节点-0-0(节点id: rsid00)", children: [] },{id: "rsid01", type:"leaf", text: "子节点-0-1(节点id: rsid01)", children: [] },{id: "rsid02", type:"leaf", text: "子节点-0-2(节点id: rsid02)", children: [] }] },{id: "rsid1", type:"trunk", text: "节点-1(节点id:rsid1)", children: [{id: "rsid10", type:"leaf", text: "子节点-1-0(节点id: rsid10)", children: [] },{id: "rsid11", type:"leaf", text: "子节点-1-1(节点id: rsid11)", children: [] },{id: "rsid12", type:"leaf", text: "子节点-1-2(节点id: rsid12)", children: [] }] },{id: "rsid2", type:"leaf", text: "节点-2(节点id:rsid2)", children: [] },{id: "rsid3", type:"leaf", text: "节点-3(节点id:rsid3)", children: [] },{id: "rsid4", type:"leaf", text: "节点-4(节点id:rsid4)", children: [] }] }, onload: function(evt){evt.target.getRootNode().expandAll();}});
 
instance.render("treeId");
 
/*
 
(function(c){
 
    alert(getTreeNode.call(this).isParent(getTreeNode.call(this, c)));
 
                })('root');
 
*/
 
/*
 
(function(c){
 
    var parent = getTreeNode.call(this, c),
 
                        current = getTreeNode.call(this);
 
                    current.appendTo(parent);
 
                })('root');
 
*/
 
/*
 
(function(c){
 
    getTreeNode.call(this).moveTo(getTreeNode.call(this, c));
 
                })('rsid10');
 
*/
 
/*
 
(function(){
 
    var rsid = baidu.lang.guid();
 
                    getTreeNode.call(this).appendChild(new baidu.ui.Tree.TreeNode({
 
                        id: rsid,
 
                        type: 'leaf',
 
                        text: '新节点(节点id:'+ rsid +')'
 
                    }));
 
                })();
 
*/
 
/*
 
(function(){
 
    getTreeNode.call(this).removeAllChildren();
 
                })();
 
*/
 
/*
 
(function(c){
 
    getTreeNode.call(this).removeChild(getTreeNode.call(this, c));
 
                })('rsid00');
 
*/
 
/*
 
(function(){
 
    getTreeNode.call(this).expand();
 
                })();
 
*/
 
/*
 
(function(){
 
    getTreeNode.call(this).collapse();
 
                })();
 
*/
 
/*
 
(function(){
 
    getTreeNode.call(this).toggle();
 
                })();
 
*/
 
/*
 
(function(){
 
    getTreeNode.call(this).blur();
 
                })();
 
*/
 
/*
 
(function(){
 
    getTreeNode.call(this).focus();
 
                })();
 
*/
 
/*
 
(function(){
 
    getTreeNode.call(this).hide();
 
                })();
 
*/
 
/*
 
(function(){
 
    getTreeNode.call(this).show();
 
                })();
 
*/
 
/*
 
(function(){
 
    instance.getRootNode().expandAll();
 
                })();
 
*/
 
/*
 
(function(){
 
    instance.getRootNode().collapseAll();
 
                })();
 
*/
 
/*
 
(function(){
 
    alert('节点-0的索引是:' + getTreeNode.call(this).getIndex());
 
                })();
 
*/
 
/*
 
(function(){
 
    alert('节点-0的下一个节点是:' + getTreeNode.call(this).getNext().text);
 
                })();
 
*/
 
/*
 
(function(){
 
    alert('节点-1的上一个节点是:' + getTreeNode.call(this, 'rsid1').getPrevious().text);
 
                })();
 
*/
 
/*
 
(function(){
 
    alert('节点-0的首个子节点是:' + getTreeNode.call(this).getFirstChild().text);
 
                })();
 
*/
 
/*
 
(function(){
 
    alert('节点-0的末个子节点是:' + getTreeNode.call(this).getLastChild().text);
 
                })();
 
*/
 
/*
 
(function(){
 
    alert('节点-0的是否末节点:' + getTreeNode.call(this).isLastNode());
 
                })();
 
*/
 
//提示:您可以使用注释中的代码进行演示
 
</script>

 

以上IT文章《baidu.ui.Tree.TreeNode 树节点类TreeNode》由名客技术网[www.121ask.com]提供阅读!
名客技术网是一个免费为广大IT技术人员提供IT教程,绿色软件,asp/php/jsp/java/net等实例视频教程,CMS教程,破解软件下载以及学习相关源码、知识的IT网站。
名客技术网如果无意之中侵犯了您的版权,请来电告知,本站将在3个工作日内删除 QQ:175352796
Copyright 2011-2017 Powered by 121ASK.COM, All Rights Reserved.
备案号:鄂ICP备11013833号-3