论坛首页 Web前端技术论坛

简单的js树-rTree,可负载25万个节点(非ajax),代码少,易用易懂。更新checkbox补丁代码(在7楼)

浏览 65083 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-09-09  
看了下你的帖子。没看代码。

我个人觉得 ajax 树的效率肯定会高于 静态树,你一次性加载 
父节点,子节点,传输的数据量会很大。

如果用ajax 树,就会好的多,而且资源节省也多的多了,
第一次只加载 父节点。
当用户点击父节点的时候,再去加载该父节点的子节点,但是只加载一次,第二次点击就是静态节点了(上一次点击的获得的数据保存到该父节点下),
个人感觉这样会节省大量资源。

试想,有几个人会去一个个节点都点开啊?
第一:没这需要
第二:还是没需要

其实25W条数据 是没有意义的,最多算是一个压力测试,当数据量多的时候,应该考虑  快速查询功能  而不是树了。
比如当在input 里输入  需要的节点(模糊搜索)时,js 自动定位打到 该 节点,这才是有意义的。 

做系统,有一个最大的 基础 就是   用户体验。方便才是第一的


其实25W条数据有实际的意义吗?
0 请登录后投票
   发表时间:2009-09-09  
对了,关于有人说的 全部展开。

我觉得可以这样解决。。

1. 一个一个的展开。 当第一个展开好后, callback 一下,展开后一个。

2. 在 数组 里 put 好数据后,分批 放入 各个父节点下
0 请登录后投票
   发表时间:2009-09-09   最后修改:2009-09-09
delino 写道
看了下你的帖子。没看代码。

我个人觉得 ajax 树的效率肯定会高于 静态树,你一次性加载 
父节点,子节点,传输的数据量会很大。

如果用ajax 树,就会好的多,而且资源节省也多的多了,
第一次只加载 父节点。
当用户点击父节点的时候,再去加载该父节点的子节点,但是只加载一次,第二次点击就是静态节点了(上一次点击的获得的数据保存到该父节点下),
个人感觉这样会节省大量资源。

试想,有几个人会去一个个节点都点开啊?
第一:没这需要
第二:还是没需要

其实25W条数据 是没有意义的,最多算是一个压力测试,当数据量多的时候,应该考虑  快速查询功能  而不是树了。
比如当在input 里输入  需要的节点(模糊搜索)时,js 自动定位打到 该 节点,这才是有意义的。 

做系统,有一个最大的 基础 就是   用户体验。方便才是第一的


其实25W条数据有实际的意义吗?

恩,确实如你说的一样。ajax的传输流量小(没打开的节点不占流量),但是传输频率多,后台调用次数多。
当时只想着,减少服务器访问次数,和去掉ajax树中叶子前面有加号的问题。
还有个原因就是,觉得ajax树用起来会烦点。。。
25万,的确是没什么意义。我自己用最多也就1000多个节点。
0 请登录后投票
   发表时间:2009-09-09  
wa327114652 写道
楼主你好,我是初学者,我下载下来后不会使用!希望你会发表一下使用说明,谢谢!

在head里导入用到的js和css。
页面里加一个<div id="main"></div>
在后面加上
<script>
var r=new RTree('r');
r.add('','').....
</script>
静态的树,就直接添加节点。
动态的改成
<c:foreach items='' var='vo'>
r.add('${vo.id}','${vo.pid}'......);
</c:foreach>
0 请登录后投票
   发表时间:2009-09-10  
借楼主个人气:看看这个树
http://sites.google.com/site/webjslib/
和这个框架
http://sourceforge.net/projects/sopo/files/
0 请登录后投票
   发表时间:2009-09-10  
有右键菜单吗?如果没有最好加上就更完美了
0 请登录后投票
   发表时间:2009-09-11  
当测试10000条时,浏览器基本卡的动不了!
0 请登录后投票
   发表时间:2009-09-11   最后修改:2009-09-11
lr1213 写道
当测试10000条时,浏览器基本卡的动不了!


一般用1-2百个节点就够了,没必要太多考虑性能问题,10000个节点,扯皮的。。。
你做项目,一次生成这么多?????????
这玩儿缺点是难看,还有些基本功能没集成,我不会用jquary怎么办???????????
总之,100个垃圾特点,不如一个有用的特点,整什么垃圾25万个节点呢。
又不是存储结构。而且生成树的方式太恶心,没对象感
0 请登录后投票
   发表时间:2009-09-11  
fyf_008 写道
lr1213 写道
当测试10000条时,浏览器基本卡的动不了!


一般用1-2百个节点就够了,没必要太多考虑性能问题,10000个节点,扯皮的。。。
你做项目,一次生成这么多?????????
这玩儿缺点是难看,还有些基本功能没集成,我不会用jquary怎么办???????????
总之,100个垃圾特点,不如一个有用的特点,整什么垃圾25万个节点呢。
又不是存储结构。而且生成树的方式太恶心,没对象感

25W确实也是扯淡的,你能完美做到我只能说你牛逼!呵呵,lz的树还是值的学习的。
0 请登录后投票
   发表时间:2009-09-17  
malasun 写道
借楼主个人气:看看这个树
http://sites.google.com/site/webjslib/
和这个框架
http://sourceforge.net/projects/sopo/files/


貌似这的例子Chrome下一个也不能用...

楼主的精神是可嘉的,虽然现在现在的树的例子已经不少了
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics