`
ttwang
  • 浏览: 331923 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

YUI3 中tree的两种实现

    博客分类:
  • YUI3
 
阅读更多
我是在网上找的压缩包,很难下载,我上传附件了,大家可以自行下载,其中树的实现有两种方法:

第一种tree是完全用YUI3 的JS脚本库写出来的,tree节点是写死的,具体代码如下:



<div style="margin: 20px; float: left; clear: both;">
<h3>Simple tree from config</h3>
<div id="cattree1" style="min-width:350px; min-height:200px; padding-right: 20px; padding-bottom: 20px; border: 1px solid gray;"></div>
<p id="clickme1" style="cursor:pointer; margin-bottom:10px;">Click me to add node</p>
<p id="unclickme1" style="display:none; cursor:pointer; margin-bottom:10px;">Click me to remove node</p>
<ul id="report1"></ul>
</div>

<script>
YUI().use("gallery-yui3treeview-ng", function(Y) {
var treeview = new Y.TreeView({
startCollapsed: true,
children: [ {
label: "Root",
children: [
{
label : "sub 1",
children : [
{ label: "sub 1-1"},
{ label: "sub 1-2"},
]
},
{
label : "sub 2",
children : [
{ label: "sub 2-1"},
{
label: "sub 2-2",
children: [
{ label: "sub 2-2-1" },
{ label: "sub 2-2-2" }
]
},
]
}
]
}]
});
treeview.render("#cattree1");

var r = Y.one("#report1");
treeview.on("nodeclick", function(e) {
var node = e.treenode;
r.setContent("");
r.appendChild("<li>You clicked " + (node.get("isLeaf") ? "leaf" : "node") + " " + node.get("label"));
r.appendChild("<li>Path to root is: " + node.path().join(" > "));
r.appendChild("<li>State is: " + (node.get("collapsed") ? "collapsed" : "expanded") );
});

Y.one("#clickme1").once("click", function (e) {
treeview.add({
label: "foster-child"
})
e.target.remove(true);
Y.one("#unclickme1").setStyle("display", "block");
});
Y.one("#unclickme1").once("click", function (e) {
treeview.remove(1);
e.target.remove(true);
});
});
</script>



第二种tree 是用ul li标签写在页面中的,具体树的展开收缩功能是用YUI3的JS库控制的,代码如下:
<!-- Tree from markup -->
<div style="margin: 20px; float: left; clear: both;">
<h3>Simple tree from markup</h3>
<div id="cattree2" style="min-width:350px; min-height:200px; padding-right: 20px; padding-bottom: 20px; border: 1px solid gray;">
<ul>
<li><a><span>Root</span></a>
<ul>
<li><a><span>sub 1</span></a>
<ul>
<li><a><span>sub 1-1</span></a></li>
<li><a><span>sub 1-2</span></a></li>
</ul>
</li>
<li><a><span>sub 2</span></a>
<ul>
<li><a><span>sub 2-1</span></a></li>
<li><a><span>sub 2-2</span></a>
<ul>
<li><a><span>sub 2-2-1</span></a></li>
<li><a><span>sub 2-2-2</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<p id="clickme2" style="cursor:pointer">Click me to render tree above!<br><br></p>
<div>

<script>
YUI().use("gallery-yui3treeview-ng", function(Y) {
Y.one("#clickme2").once("click", function(e) {
var treeview = new Y.TreeView({
startCollapsed: false,
srcNode: "#cattree2 > ul" // Its important to set srcNode as a <ul> of the main widget container
});
treeview.render();
e.target.remove(true);
});
});
</script>
0
0
分享到:
评论
1 楼 boiaprogramfan0420 2013-09-06  
alloyUI是有treeView的实现的,不用YUI扩展

相关推荐

    YUI3 实现overlay展开是tree,并且树节点可以拖拽-drag和drop

    在这个场景中,我们讨论的是如何使用`YUI3`实现一个特殊的组件——一个可展开的`Overlay`,它内部展示了一个树形结构(Tree),并且树节点支持拖放(Drag and Drop)功能。 首先,`Overlay`是`YUI3`中的一个基础...

    E3tree开发文档

    E3.Tree提供API和taglib两种使用方式,适应性强,支持包括普通树、单选树、复选树和动态树等多种类型。它还允许轻松集成现有的树形UI,如xtree、ext tree和yuimenu。 为了开始使用E3.Tree,你需要确保系统满足以下...

    E3Tree开发文档

    - 提供两种使用方式:API和Taglib,使用简单且功能强大。 - 易于集成现有树形UI:支持集成如xtree、exttree和yuimenu等。 - 功能丰富:支持多种类型的树,例如普通树、单选树、复选树、动态树等。 #### 二、开发...

    学习YUI.Ext 第六天--关于树TreePanel(Part 1)

    在本文中,我们将深入探讨YUI.Ext库中的一个重要组件——TreePanel。TreePanel是一个用于构建交互式树形结构视图的组件,它在YUI.Ext 0.40版本中首次引入。尽管YUI自身已经提供了TREE VIEW组件,但开发者Jack Slocum...

    Easyui和zTree两种方式分别实现树形下拉框

    现在贴出来两种方式及效果,以后备用。 方式一,使用zTree 前端代码: 点击事件: &lt;input id=selectActionType class=form-control onfocus=showActionTypeTree() onclick=showActionTypeTree

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)...

    ExtAspNet_v2.3.2_dll

    -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)...

    js代码精简

    3. **模块打包**:在现代Web开发中,JavaScript代码经常使用模块化系统(如CommonJS、ES6模块等)。这些模块可以使用Webpack、Rollup或Parcel等打包工具整合成一个或少数几个文件,减少HTTP请求,从而提升页面加载...

    jQuery Easyui datagrid/treegrid 清空数据

    下面给出两种方法供初学者参考:  方法一: var item = $('#filegrid').datagrid('getRows'); if (item) { for (var i = item.length - 1; i &gt;= 0; i--) { var index = $('#filegrid').datagrid('getRowIndex', ...

Global site tag (gtag.js) - Google Analytics