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

Can I speed up the YUI layout manager, when I have a large table on the page?

本文关键字:布局 YUI 管理器 速度 我可以 有一个      更新时间:2023-09-26

我正在使用YUI布局管理器,它似乎以良好的速度工作。但是,如果页面包含大约 500 行的大型<Table>,则 YUI render()函数的运行时间大约需要一分钟

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

唯一关心的是IE 7。我在火狐上尝试了一下,只花了大约三秒钟。

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

我终于自己想通了。

诀窍是隐藏布局管理器应忽略的内容。

在调用render()之前,请为包含大量页面的标记设置style.display = 'none',而无需布局管理器进行管理。使用style.display = 'block'后将其恢复正常。

你的意思是大表的 render() 方法需要很长时间吗?

YUI DataTable 有一个专门针对这种情况的 renderLoopSize 属性。它使表每 X 行渲染一次到 DOM,而不是等到最后并将它们全部渲染一次。

var myDataTable = new YAHOO.widget.DataTable("myContainer", 
                         myColumnDefs, 
                         myDataSource, 
                        {renderLoopSize: 100});