当我在页面上有一个大表时,我可以加快YUI布局管理器的速度吗?

时间:2008-10-09 11:57:16

标签: javascript internet-explorer layout yui

我正在使用YUI布局管理器,它似乎以正常速度工作。但是,如果网页包含大约{500}行的<Table>,那么YUI render()函数的运行时间大约为分钟

当我在没有布局管理器的情况下打开同一页面时,它会在不到一秒的时间内打开。

关注 IE 7 。我在firefox上试过它,它只花了大约三秒钟。

关于什么花了这么长时间的任何想法?我可以以某种方式告诉布局管理器忽略该表吗?

2 个答案:

答案 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});