这是我写的第一个js的控件,修修改改快大半年了,公司的老项目里在用。
废话不多说,直接说特点吧!
r.setNodedbc(true);根(有子节点)是否可以双击打开关闭。
r.setNodehref(false);根(有子节点)是否可以触发事件。
r.setLazy(false);是否延迟生成树。
r.canAlterbg(true);点击节点后改变背景色。这是用jquery做得补丁式的功能。
8个参数 id,父id,显示字符,关闭时图片路径,打开时图片路径,href的路劲/调的js方法,目标,是否关闭(lazy=true时无效)。
我觉得最大的特色就是lazy,我写的时候发现,树慢就慢在构造上,加载数据到不慢,所以lazy就是数据一次性加进去,但一次只生成一层。如果要打开好几层的话,可以自己调openNode()方法。
像大家说的checkbox等功能,我做过例子,是通过jquery后期再添加进去的,觉得jquery打补丁真的不错。
号称的250000条数据,是在全部都是随机节点的情况下,不死机的状况。就是一层的节点不能过大。。不然也会死。
代码很少200行,注释70行,大家如果用得上的话,我就最开心不过了!!!
下面是构造的代码,同dtree,有啥意见多提提,我好再改进,谢谢啦!!!
!!!!!!如果用js方法的话 参数要用"包起来。如 javascript:afun("xxx");!!!!!!!!!!!!
全部打开按钮,只适用于不使用lazy的情况
- var r=new rTree("r");
- r.setNodedbc(true);
- r.setNodehref(false);
- r.setLazy(false);
- r.canAlterbg(true);
- r.add(1,0,"a哈罗",'images/folderclose.gif','images/imgfolder.gif','javascript:alert("我们都是哈罗!!!")');
- r.add(2,1,"男哈罗",'images/hello1.gif','',"./baidu.mht");
- r.add(3,1,"b哈罗",'','images/hello1.gif');
- r.add(4,1,"c哈罗");
- r.add(5,1,"d哈罗");
- r.add(6,2,"e女哈罗",'','',"images/hello1.jpg","show");
- r.add(7,2,"f哈罗");
- r.add(8,3,"g哈罗");
- r.add(9,3,"h哈罗","","","","",true);
- r.add(10,3,"i哈罗");
- for(var i=11;i<11;i++){
- r.add(i,parseInt(Math.random()*i),"测试"+i);
- }
-
- r.startTree();
posted on 2009-11-30 18:48
becket_zheng 阅读(625)
评论(0) 编辑 收藏 所属分类:
web前端开发