jQuery UI Сортируемое соединение с производительностью времени загрузки в календаре - PullRequest
0 голосов
/ 02 февраля 2009

jQuery UI Sortable + Draggable 1.6rc5

ЧТО Я ДЕЛАЮ: Создание календаря с различными диапазонами дат (например: может отображаться 1 неделя, может отображаться 20 недель). В этом календаре есть события в каждом дне, и события сортируются внутри самого дня, а также между всеми другими днями в видимом календаре. Мой средний календарный диапазон дат составляет приблизительно 10 недель, что включает приблизительно 50 событий.

ПРОБЛЕМА: Для каждого дня в календаре взаимодействие сортировки jQuery требует определенного времени для настройки. Чем больше видимых дней, к которым jQuery должен применить Sortable, тем больше времени занимает загрузка страницы. Добавьте параметр 'connectWith', чтобы соединить все календарные дни вместе как интерактивные сортируемые списки. и страница загружается примерно в 10 раз дольше. Для примера 10 недель, 50 событий загрузка страницы занимает около 50 секунд.

КОД:

Код календаря выглядит примерно так:

<table ... id="main-calendar"...> 
<tbody> 
<tr ... class="calendarDaysRow"...> 
<td ... > 
<ul class="schedule-sortable"> 
<li>SORTABLE ITEMS HERE</li> ...  
</ul>
</td> ... 
</tr> ... 
</tbody>
</table>

Настройка сортируемого взаимодействия:

jQuery("#main-calendar tbody tr.calendarDaysRow ul.schedule-sortable").sortable({ 
    connectWith: ["#main-calendar tbody tr.calendarDaysRow ul.schedule-sortable"]
});

НА ЧТО Я ИЩУ: гораздо быстрее время загрузки / настройки при загрузке страницы. Я продолжу просматривать сортируемый источник, но, похоже, не так много сортируемых вариантов, которые бы оптимизировали время настройки взаимодействия.

1 Ответ

0 голосов
/ 13 мая 2009

Кажется, нет более оптимизированного способа сортировки с помощью jQuery. Лучшее, что возможно в версии 1.7 пользовательского интерфейса, - это использование идентификаторов элементов для доступа к элементам.

...