mydiv.innerHTML 效率应该是非常高的,可能你的mystr这个字符串里面有些画资源的东西吧

解决方案 »

  1.   

    另外通过xmlhttp方式将生成的html代码取出
    这个过程效率是非常差的,很慢
      

  2.   

    mystr字符串里面,就是一些纯粹的表格,没有需要特别运行的其他代码.
    内容类似于
    <table>
    <tr>
    <td><img src=xxx.gif onclick="xx"></td>
    <td><label onclick="xx">xxxx</label></td>
    </tr>
    </table>
      

  3.   

    <img src=xxx.gif onclick="xx">首先图片就耗资源
    其次html当然要花费时间来解析了,而text就不需要多少时间
      

  4.   

    用层替换table会不会好一些?
      

  5.   

    可以使用xmlhttp返回xml,用数据岛绑定
      

  6.   

    今天尝试了一整天,发现,慢是由于HTML代码解析引起的.
    同样的代码,我在生成的时候,将所有的<号转换为&lt;,这种情况下,显示的速度非常快,与innerText方式差不多.但只要有需要解析的HTML代码,它即会慢下来.
    楼上阿信说用XML,但是否也存在这种情况呢?因为毕竟还是要写上去.
    有一点我就觉得奇怪,梅花雪新发布的树,虽然是传输数据少,但最终还是要写到页面上,一样要进行页面解析,为什么就不会慢呢?所以我才特别想请梅花雪来参谋一下.
      

  7.   

    原理很简单,他不是一次性把所有代码都写到网页上,页是点击+后把html写入另: 数据岛的效率是十分高的
      

  8.   

    原理很简单,他不是一次性把所有代码都写到网页上,页是点击+后把html写入
    -----------------
    我现在已经是动态读取,点击+号之后,才运用XMLHTTP到其他页面去求取值,取到之后,再显示出来.
    问题是,有时候点击出来的行数,有达到100行的,这时候非常的慢,基本都要3秒钟,如果数据少的比如十几行,那非常快.
      

  9.   

    如果 如你说的
    将所有的<号转换为&lt;,这种情况下,显示的速度非常快,那一定是解析有问题了,你看看会不会是
    innerHTML的内容和你外面的html内容有些冲突或者定位方面有些问题?关注此问题,我用innerHTML插入100多行数据非常快啊
      

  10.   

    我把我显示的部分树内容打出来大家看一下.<tr id="tr_2591">
    <td>
    <img id="img_2591" src="/aqjc/style/style2/treeview/normal1/l_normal.gif" align="absmiddle">
    </td>
    <td>
    <img id="hard_2591" src="/aqjc/style/style2/treeview/normal1/f_files.gif" align="absmiddle">
    </td>
    <td id="td_2591" width="100%" nowrap class="hidtd">
    <label id="span_2591" class="span-all" nowrap  onclick="spanclick('2591',0,0)" onmouseover="spanover('2591')" onmouseout="spanout('2591')" ondblclick="spandblclick('2591',0,1)">单相重合闸装置</label>
    </td>
    </tr>
      

  11.   

    fason(咖啡人生) 说:......另: 数据岛的效率是十分高的不太同意,我觉得数据岛比较慢,特别是填充Table时,8列100多行的数据,
    差一点的机器,简直能看到表格的一行一行往下“走”的效果...
      

  12.   

    你的这些子节点是每个节点就用 innerHTML +=  呢还是怎么做的? 你可以把要显示的所有子节点的HTML格式string 全部生成后再赋给 innerHTML 会快很多. 还有就是看看你到底是在生成HTML string 上耗时间还是生成之后HTML在浏览器上的解析消耗时间?
      

  13.   

    楼主应该不会 innerHTML += 的,不然慢死了
    会不会是每次都去取那两个图标的事,改成都用两个IMG对象保存一下会不会好一些
    这好多高手哦,说错了莫见怪
      

  14.   

    同意:回复人: meizz(梅花雪) ( ) 信誉:705  2005-06-06 09:16:00  
      

  15.   

    检查下 TABLE 如果有循环错误就比较慢了
      

  16.   

    动态显示大段的html代码速度确实是很慢,不论采取innerHTML还是其他方法。我以前也遇到这个问题。后来实在没办法,只好用setTimeout把大段大段的table分开来显示,这样用户可以看到叶面内容一点点地出来,也不至于导致ie浏览器死在那里。
      

  17.   

    高手如云、朗基弩斯枪本来没份说话、
    不过我也是刚刚完成一棵4级树(JSP+javascript以左侧导航框架页的形式)、3级分支就200了、4级叶就多了去了、速度很慢、没办法必须实时从数据库取比较多的数、时间主要浪费在数据库查询上、我想问一下怎样将这样用框架单独显示的树移植到一个层里面?实现在一个没有框架的页面上点某个HTML控件就浮现这个层?
      

  18.   

    你的这些子节点是每个节点就用 innerHTML +=  呢还是怎么做的
    ----------------------
    那些数据是统一在后台生成,然后一次性用XML取出来,直接INNERHTML到层中去
    但是很奇怪的,在我的机器上,显示100个节点很慢,我用别的机器访问我的机,很快.
      

  19.   

    楼主说的innerHTML比innerText慢确实如此,以前作过实验即使数据量不大两者还是能看出差别,
    本机访问慢其他机器访问快是web应用处理请求的问题,这是正常的啊
      

  20.   

    直接用<xml src="****">,读进来后用xsl转,尽量不要用脚本来干预这个显示过程。不管在哪里字符串的+=都会产生一大堆的垃圾消耗内存。
      

  21.   

    +=操作并不是瓶颈所在。我那时候做的时候一开始也以为是这个原因,所以把+=改成了用数组join,但是显示速度改进微乎其微。通过一步步把相关操作去掉看来,最慢的就在于innerHTML构建页面元素的时候。
      

  22.   

    不知还会不会有高手关注这个贴、
    我现在摸索着用xmlhttp改造一个旧的树、希望做到无刷新动态加载(研究了梅花雪姐姐的日历控件)、现在已经做到服务端接收到xmlhttp请求并动作、但是有几个问题:1、大量javascript脚本在客户端浏览器上显示出错、有一段javascript脚本竟然直接显示出来了、是否应该把这些脚本写成.js后缀文件再包含它这样才行?是否以function形式存在的javascript脚本最好这样?(因为用到了下面html页面上的变量、而且我的javascript函数里面有for循环)
    2、设置div的innerHTML或innerTEXT属性后再令其显示这样子是否是成熟可行的方法?
    3、何为数据岛?如何用?