Могу ли я ускорить работу с менеджером макета YUI, если у меня есть большая таблица на странице? - PullRequest
0 голосов
/ 09 октября 2008

Я использую менеджер раскладки YUI, который, кажется, работает на нормальной скорости. Однако, если страница содержит большой <Table> с примерно 500 строками, функция YUI render() занимает примерно на минуту больше.

Когда я открываю ту же страницу без менеджера макета, она открывается менее чем за секунду.

Мой только относится к IE 7 . Я попробовал это на firefox, и это заняло около трех секунд.

Любые идеи о том, что занимает так много времени? Можно ли как-то сказать менеджеру раскладки игнорировать таблицу?

Ответы [ 2 ]

5 голосов
/ 09 октября 2008

Я наконец-то понял это сам.

Хитрость заключается в том, чтобы скрыть контент, который должен игнорироваться менеджером макета.

Перед вызовом render() установите style.display = 'none' для тега, который содержит большую часть страницы, для управления которой вам не нужен менеджер макета. Установите его обратно в нормальное состояние с помощью style.display = 'block'.

0 голосов
/ 12 ноября 2008

Вы хотите сказать, что метод render () вашей большой таблицы занимает много времени?

Таблица данных YUI имеет свойство renderLoopSize специально для такого рода ситуаций. Это заставляет таблицу рендериться в DOM каждые X строк, а не ждать до конца и рендерить их все за один раз.

var myDataTable = new YAHOO.widget.DataTable("myContainer", 
                         myColumnDefs, 
                         myDataSource, 
                        {renderLoopSize: 100}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...