菜单效果如下:一级菜单a
  二级菜单a
     三级菜单a
     三级菜单b
     .
     .
     .
     三级菜单z
  二级菜单b
  二级菜单c
   .
   .
   .
  二级菜单z一级菜单b一级菜单c
.
.
.一级菜单z之前我是想这样实现的,一次性读出所有的菜单,通过控制<td>的可见性来实现展开收回菜单.但因为菜单数量太多,页面运行到一半的时候超时,现我想实现这样的效果,第一次打开页面的时候只列出一级菜单,点击一级菜单后才展开二级菜单,以此类推.页面不要刷新.
请问如何实现?是否要用到AJAX技术?

解决方案 »

  1.   

    1.数据太多:分次取数据,分次将数据转成HTML显示
    2.数据有点多:一次取数据,分次将数据转成HTML显示
    3.数据比较少(两三百以内):想怎么做都行。
    “第一次打开页面的时候只列出一级菜单,点击一级菜单后才展开二级菜单,以此类推.页面不要刷新”
    方案1和方案2都可以达到这样的效果,其中方案1要用ajax或其它异步技术(如append js).这里有JKTree,里面的示例是方案2,
    代码地址:http://download.csdn.net/source/276201
    示例页面:JKHtml\JKTree\JKTree.htm
    如果要改成方案1,只需覆盖通过parentId得到subItems的这个函数就成:
    ----------
    function jkTree_getSubItems(parentItemId) //此函数仅作示例,修改(或重载)此函数来自定义tree的节点数据类型。
    {
     return folderArray[parentItemId];
    }