0

jQuery UI ソート可能 + ドラッグ可能 1.6rc5

私がやっていること: さまざまな日付範囲を持つカレンダーを作成しています (例: 1 週間表示、20 週間表示など)。このカレンダーには毎日イベントがあり、イベントはその日内だけでなく、表示されているカレンダーの他のすべての日の間でも並べ替えることができます。私のカレンダーの平均的な日付範囲は約 10 週間で、これには約 50 のイベントが含まれます。

問題: カレンダーの各日について、jQuery の Sortable インタラクションの設定には一定の時間がかかります。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"]
});

私が探しているもの: ページが読み込まれるときの読み込み/セットアップ時間が大幅に短縮されます。ソート可能なソースを引き続き調べますが、インタラクションのセットアップ時間を最適化するソート可能なオプションはあまりないようです。

4

1 に答える 1

0

jQuery でソートするより最適化された方法はないようです。UI バージョン 1.7 で可能な最善の方法は、要素 ID を使用して要素にアクセスすることです。

于 2009-05-13T14:21:25.530 に答える