可能这个演示文件数据量太多了,我把中国所有的县级行政单位都放上去了,文件有100多K,网速曼的话,可能下载时要等几秒钟。
但我的js脚本绝对是最优化的。

解决方案 »

  1.   

    为什么要改成div格式?有什么理由吗?
      

  2.   

    现在做网站就提倡WEB标准布局XHMTL+CSS
      

  3.   

    table不是web标准布局?我还不知道。谢谢
      

  4.   

    仔细地研究了一下你的代码,有优点也有不足之处,优点就是构思巧妙,比如使用了<td i="1">这样的自定义属性等,不足之处也有:比如你给定的数据顺序一点都不能乱等!你所说的效率最高,这句话未免大了些,阿信的树和无忧前几天植树节弄出来的模式就不比你的慢。
      

  5.   

    不是说用table就不符合标准了,如果能用CSS完成的话想必会更好再提一下能不能改成http://communityserver.org/files/default.aspx他这样的树形效果,只是后面文字底色发生变化,呵有空我也改
      

  6.   

    meizz(梅花雪),阿信的树和无忧前几天植树节弄出来的模式能让我看看么?
      

  7.   

    http://bbs.51js.com/viewthread.php?tid=55556&fpage=1
      

  8.   

    我来唱反调了1、这棵树的操控速度的确很快,因为他一次性在内存中生成
    2、树的生成比较慢,不过我的机器也很差
    3、一次性加载全部数据在网速慢的情况下令人难以忍受。
    4、你使用了prototype.js这个工具包,所以不能把功劳都据为己有吧?
      

  9.   

    不过一次生成全部的html是不可取的,meizz的树这一点上非常不错。
      

  10.   

    有部分可取之处,但是楼主你说“超高性能的树形菜单,建议csdn用我写的这个树形菜单”,这话就是大话了!问题你还考虑的很不全,还是谦虚一点吧
      

  11.   

    呵呵。感觉就是不太谦虚了。
    如果真是无级的树。建议还是不要把数据一次性写到客户端了。 要是海量数据的话,这个就麻烦了。
    CSDN,好象是后台动态读数据的。建议 楼主还是仔细研究一下CSDN的,再优化你自己的了。
      

  12.   

    别吵了,你们这些高手谁有空能把他这个树修改成这样的效果,那就更绝了
    http://communityserver.org/files/default.aspx
      

  13.   

    ========================================
    http://peipei3000.jishuqi.com/reg.asp
    http://www.goofar.com/?ID=634664011139
    ========================================
      

  14.   

    能给我发一份原代码吗?谢谢,[email protected]
      

  15.   

    不过你说的“兼容IE和firefox”,你自己测试过么?建议你用firefox测试下再说这句话root
    中国
      

  16.   

    要源代码的朋友自己到测试地址下,纯客户端的东西,还要我发啊?我是因为网上找不到我需要的代码才不得已自己写了一个,(网上的不是兼容性不好,就是接口复杂),主要是满足自己需要的,代码肯定有很多局限性。发到这里来,也只是共享和求精的意思。
    现在的web编程主要是做客户端太累了,要稍微有点智能化的客户端,必须要用到js。而js的开发工具又太差,所以我觉得各位有必要来共享和协作,作一些通用的兼容性好的东西出来,甚至成为标准件,供大家伙共同使用。譬如,通用数据编辑表格控件、通用下拉菜单、通用树形结构等等,这些东西最好在csdn的js版都能找得到。
    希望各位高手多作贡献了。
      

  17.   

    树显示速度的快慢,取决于一次加载的节点多少有关系,如果加载的时候只生成树根节点,在单击的时候,在动态的的生成下一级节点(时间复杂度的问题),MSDN上面的导航树就是这样的.但在现实企业级的应用当中,数据来源是存在数据库当中的这样就有一个转换问题,可以用WebService把数据来源(不管数据源的途径)用标准的XML文档的格式公布出来, 在客户端用JavaScript,通过XMLHTTP的可以调用调用服务器端的内容.这样有一个好处就是不刷新页面.熟悉.net的朋友就知道,如果树的节点太多了,每次取一下级节点的时候,回发页面.性能是不能承受的.
    还有一个因素需要考虑,就是节点展开,节点合闭的问题.节点展开的时候,要把当前节点下面所有的子节点,设置为可见,并且把当前节点,下一个兄弟节点以后所有的座标往下推,合闭的时候当前节点的子节点设置为隐藏,并且把当前节点的一个兄弟节点以后所有的座标往上推.
    这里采用那种算法,跟性能有很大的关系.如果你在内存中组织一种树结构,你在计算节点位移的时候,需要遍历子节点及兄弟节点,这种算法我在项目中测试的时候在3000项数据的时候性能还能承受,但是数据量太大了,还是很差,后来我采用,位移不是采用遍历树节点的方法做到的.而是先找到当前节点的id,再找到当前节点所在的div,并把需位移的值计算出来,这样在测试显示在2万个节点的合并和展开只需要1秒多点的时间就完成了.
      

  18.   

    反正比csdn页面左边的那个树形菜单强多了。