0

jQuery/jQuery UI のドラッグ アンド ドロップを使用して、HTML テーブルに基づくスケジュール グリッドがあります。表の各セルは、ユーザーとタイムスロットを表します。IE9、FireFox、および Chrome では良好なパフォーマンスが得られますが、ユーザーがドラッグを開始してからドラッグ ヘルパーが表示されるまでに数秒の一時停止があるため、IE8 は使用できません。

問題の一部は、この場合、多数のドロップ可能アイテムを作成していることです。

24 時間グリッドで 112 人のユーザー (合計 2688 個のドロップ可能アイテムが作成されました)

空の 2688 セルをドロップ可能にするコードを削除すると、速度が大幅に向上しますが、アニメーションは IE8 ではまだ遅く感じられます。

これを高速化するための提案は何ですか? テーブル自体をドロップ可能にすることを検討しましたが、ドロップされたセルを計算する方法がわかりません。また、アクティブなセルを示す hoverState CSS バックグラウンドが失われます。

重要な要件の 1 つは、HTML テーブルがサーバー上でデータ バインドされる方法を考慮して、HTML テーブルに固執することです。

私は IE8 との負け戦を戦っていますか? そのブラウザでこれをできるだけ速くしたいと本当に思っています。

4

1 に答える 1

1

私はmouseoverイベントにバインドしようとしますが、マウスが実際に要素の上に来るまで、ドロップ可能(または要素の相互作用に必要な他の引数)を実際に初期化しないでください。このルートを採用することで、高度にインタラクティブなページでパフォーマンスが約 400% 向上しました。

それでも問題が解決しない場合は、dynaTrace ajax 版を使用してテストすることを検討してください。これにより、javascript のどこが遅いかがわかります。

于 2012-06-20T19:17:24.933 に答える