http://www.blogjava.net/ebecket 返还网
随笔-140  评论-11  文章-131  trackbacks-0
这是我写的第一个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方法的话 参数要用&quot包起来。如 javascript:afun("xxx");!!!!!!!!!!!!

全部打开按钮,只适用于不使用lazy的情况

Java代码 复制代码
  1. var r=new rTree("r");   
  2. r.setNodedbc(true);//双击开关节点   
  3. r.setNodehref(false);//根是否能绑事件    
  4. r.setLazy(false);//延时构造树 要加入1000条以上节点时,请设为true   
  5. r.canAlterbg(true);//点击节点后,改变节点背景色   
  6. r.add(1,0,"a哈罗",'images/folderclose.gif','images/imgfolder.gif','javascript:alert("我们都是哈罗!!!")');   
  7. r.add(2,1,"男哈罗",'images/hello1.gif','',"./baidu.mht");   
  8. r.add(3,1,"b哈罗",'','images/hello1.gif');   
  9. r.add(4,1,"c哈罗");   
  10. r.add(5,1,"d哈罗");   
  11. r.add(6,2,"e女哈罗",'','',"images/hello1.jpg","show");   
  12. r.add(7,2,"f哈罗");   
  13. r.add(8,3,"g哈罗");   
  14. r.add(9,3,"h哈罗","","","","",true);   
  15. r.add(10,3,"i哈罗");   
  16. for(var i=11;i<11;i++){//设置随机的节点,10000的话还是很快的。。刷的一下就出来   
  17.     r.add(i,parseInt(Math.random()*i),"测试"+i);   
  18. }   
  19. //r.useBgImg("images/green.jpg");   
  20. r.startTree();  
posted on 2009-11-30 18:48 becket_zheng 阅读(625) 评论(0)  编辑  收藏 所属分类: web前端开发

只有注册用户登录后才能发表评论。


网站导航: