想法来源于我不久前发的一贴
http://topic.csdn.net/u/20100107/11/9dfa59c6-1c6b-4061-a95d-8acf8ac25997.html
因为在开发过程中,发现当表格展示大量数据的时候,页面性能下降得厉害,而其中提到的一点
让我想到了用div来模仿表格的可能性
这样做,无疑会增加不少工作,但如果说在展示大量数据时,有助于提高性能的话,还是值得的
在这里征求下大家意见:
用DIV模仿表格,在动态加载数据的效率上,是否会有所提高?
理由是因为创建一行,至少创建一个tr,以及n个td,如果用div的话,也是几乎一样要创建n个div。
而且,table做的数据表格,很难固定标题行,网上虽然有不少方法可以固定第一行,但大多数是通过设置CSS,通过JS表达式来完成,这种做法其它浏览器行不通
但会遇到一些问题,table可以根据表格内容自动调整单元格尺寸(这应该也是导致效率下降的原因),而div的话,很可能达不到这样的效果另外问下,EXTJS中的表格似乎也不是table,研究过ExtJS源代码的能否告诉一下ExtJS表格是用什么做的
不过我不打算用ExtJS这种庞大的东西
http://topic.csdn.net/u/20100107/11/9dfa59c6-1c6b-4061-a95d-8acf8ac25997.html
因为在开发过程中,发现当表格展示大量数据的时候,页面性能下降得厉害,而其中提到的一点
让我想到了用div来模仿表格的可能性
这样做,无疑会增加不少工作,但如果说在展示大量数据时,有助于提高性能的话,还是值得的
在这里征求下大家意见:
用DIV模仿表格,在动态加载数据的效率上,是否会有所提高?
理由是因为创建一行,至少创建一个tr,以及n个td,如果用div的话,也是几乎一样要创建n个div。
而且,table做的数据表格,很难固定标题行,网上虽然有不少方法可以固定第一行,但大多数是通过设置CSS,通过JS表达式来完成,这种做法其它浏览器行不通
但会遇到一些问题,table可以根据表格内容自动调整单元格尺寸(这应该也是导致效率下降的原因),而div的话,很可能达不到这样的效果另外问下,EXTJS中的表格似乎也不是table,研究过ExtJS源代码的能否告诉一下ExtJS表格是用什么做的
不过我不打算用ExtJS这种庞大的东西
解决方案 »
- 怎么在onkeyup中让输入的数字不大于某个数?
- JS获取XML图片地址急
- 怎么把内容打开网页显示,但查看源码时看不到
- ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●把函数放到参数里 怎么作用域就变了??????????????????
- 关于HTMLArea的问题~
- javascript中倒记时的问题
- EXTJS 怎么根据combobox选中后加载tree
- 提问大放血:问:1、如何通过代码关闭掉用 window.alert() 函数弹出的模式对话框?2、在该模式对话框关闭前和关闭后页面分别发生什么事件
- 怎样用Javascript检测用户关闭窗口事件?急
- 如何实现在表单提交到信息处理完毕这个过程中给出处理信息的提示?
- 请教个问题,javasript访问CSS 在FIREFOX浏览器中不接受咋办?
- 请教浏览器中js问题,谢谢
并不是说div就比table强,看什么样的场合.
如果你只是大量文字信息,并且格式不是太复杂.建议你用table.
如果image较多建议用div,div是边下载边渲染,table是下载完后渲染.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>www.js-hp.cn</title>
<style>
#info{width:510px; overflow:hidden;}
ul,li{list-style:none; padding:0; }
li{height:100px; float:left; margin:-1px 0 0 -1px; border:1px solid #000000}
.s1 {width:200px;}
.s2 {width:300px;}
</style>
</head>
<body>
<div id="info">
<ul>
<li class="s1">A1</li>
<li class="s2">B1</li>
<li class="s1">A2</li>
<li class="s2">B2</li>
<li class="s1">A3</li>
<li class="s2">B3</li>
</ul>
</div>
</body>
</html>
主要通过JS创建dom实现,所以应该不是你说的 div是边下载边渲染,table是下载完后渲染 这种情况吧,这种情况应该是静态加载时div和table的区别
具体都是写CSS控制
还有如果你的数据量确实较大 而且复杂
可以考虑DIV 或者 UL
但是 div在某些 浏览器中显示的不太正常
我记得 我做过一个透明的div窗体
我家显示正常 到别人的机器里就显示异常了
还是尽量用比较通用的做吧 呵呵
看来还是反对意见比较多,做分页算了。