我正在使用YUI布局管理器,它似乎以正常速度工作。但是,如果网页包含大约{500}行的<Table>
,那么YUI render()
函数的运行时间大约为分钟。
当我在没有布局管理器的情况下打开同一页面时,它会在不到一秒的时间内打开。
仅关注 IE 7 。我在firefox上试过它,它只花了大约三秒钟。
关于什么花了这么长时间的任何想法?我可以以某种方式告诉布局管理器忽略该表吗?
答案 0 :(得分:5)
我终于弄明白了。
诀窍是隐藏布局管理器应忽略的内容。
在调用render()
之前,为包含大量页面的标记设置style.display = 'none'
,您不需要布局管理器来管理。使用style.display = 'block'
后将其恢复正常。
答案 1 :(得分:0)
你的意思是你的大表的render()方法需要很长时间吗?
YUI DataTable具有renderLoopSize属性,专门用于此类情况。它使表格每隔X行呈现给DOM,而不是等到结束并将它们全部呈现在1行中。
var myDataTable = new YAHOO.widget.DataTable("myContainer",
myColumnDefs,
myDataSource,
{renderLoopSize: 100});