优化的办法是有,比如说一个屏幕里不会显示几万行吧,一个屏幕里最多是几十行数据,那我只显示这么几十行的数据,其它的数据等到用户滚动到了再显示,类似于SQL显询分析器的效果。或者你改一下,不用table布局,而改成比如DIV布局。

解决方案 »

  1.   

    第一个办法 ,如果用户滚动 快的话, 会不会 不停的计算,
    第二个办法  该成DIV 的化占空间应该不会减少, IE空间呢,会减小吗,效果大不, 有无例子
      

  2.   

    <html>
    <head>
    <style>
    <!--
    .rows {
            display:block border-bottom:#000 1px solid;
    }
    .rows ul {
            list-style:none;
            display:block;
            margin:0px;
    }
    .rows l1 {
            width:18px;
        float:left;
            border:#000 1px solid;
            border-right:0px;
            border-bottom:0px;
            margin-right:-2px;
            padding:2px 10px 2px 10px;
    }
    .rows l2 {
            width:28px;
        float:left;
            border:#000 1px solid;
            border-right:0px;
            border-bottom:0px;
            margin-right:-2px;
            padding:2px 10px 2px 10px;
    }
    .rows rl {
            width:100px;
        border:#000 1px solid;
            border-bottom:0px;
            padding:2px 10px 2px 10px;
    }
    .rows bl1 {
            width:18px;
        float:left;
            border:#000 1px solid;
            border-right:0px;
            margin-right:-2px;
            padding:2px 10px 2px 10px;
    }
    .rows bl2 {
            width:28px;
            float:left;
            border:#000 1px solid;
            border-right:0px;
            margin-right:-2px;
            padding:2px 10px 2px 10px;
    }
    .rows brl {
            width:100px;
        border:#000 1px solid;
            padding:2px 10px 2px 10px;
    }
    -->
    </style>
    </head>
    <body>
    <div class="rows">
    <ul>
     <l1>123</l1>
     <l2>123</l2>
     <rl>456</rl>
    </ul>
    <u2>
     <bl1>abc</bl1>
     <bl2>abc</bl2>
     <brl>def</brl>
    </u2>
    </div>
    </body>
    </html>怎么不行
      

  3.   

    大致上给你演示一下如何分段显示:
    <html>
      <body>
        <table id=tableId border=1 width="100%">
        </table>
        <SCRIPT LANGUAGE="JavaScript">
        <!--
        var tab = document.getElementById("tableId");
        var i = 0;
        for(i=0; i<50; i++)
        {
          var tr = tab.insertRow(tab.rows.length);
          tr.insertCell(0).innerHTML = i;
          tr.insertCell(1).innerHTML = 1;
          tr.insertCell(2).innerHTML = 2;
          tr.insertCell(3).innerHTML = 3;
          tr.insertCell(4).innerHTML = 4;
          tr.insertCell(5).innerHTML = 5;
        }
        window.onscroll = function()
        {
          if(document.body.scrollHeight - document.body.scrollTop - document.body.clientWidth <1000)
          {
            var n = i + 50;
            for(i=i; i<n; i++)
            {
              var tr = tab.insertRow(tab.rows.length);
              tr.insertCell(0).innerHTML = i;
              tr.insertCell(1).innerHTML = 1;
              tr.insertCell(2).innerHTML = 2;
              tr.insertCell(3).innerHTML = 3;
              tr.insertCell(4).innerHTML = 4;
              tr.insertCell(5).innerHTML = 5;
            }
          }
        }
        //-->
        </SCRIPT>
      </body>
    </html>当然,我这里只是演示数据,你在真实运行过程中可以用 xmlhttp 到后台实时取数据
      

  4.   

    你说的意思大致清楚了 ,但如果滚到最后的化,那个IE内存还是会占很大。
    好像除了分页,我想不到其他方法(不能用)
    我试了下 如果只是IE数据,IE到也不是占太大内存,打开也不是特慢,但之要加上修饰  border:#000 1px solid;
            border-right:0px;
            margin-right:-2px;
            padding:2px 10px 2px 10px
    就不行了,
    看来虽然可以用CSS 来减少代码,但好像对于IE的内存,它对于每个单元格的修饰还是会分配内存,N个 会分配N 次???? ,要不怎么这么大???、
      

  5.   

    回复人: asdmusic8(asdmusic8) ( ) 信誉:95  2005-10-14 16:23:00  得分: 0  
       不能用分页
      
    --------------------真是奇了怪了!!!!!!!!!