データベースから何百もの行を取得し、JSON オブジェクトを作成してから jQuery 経由でレンダリングしています。しかし、現在、すべてのデータ オブジェクトをレンダリングしているため、ページの読み込みが遅くなります。その場で JSON のチャンクをレンダリングする最良の方法は何ですか? また、ユーザーがレンダリングされた表示をスクロールするときに、レンダリングされたチャンクを追加および削除することは理にかなっていますか?
質問する
1194 次
1 に答える
0
一般に、多数の DOM ノードを作成および追加する場合は、ドキュメント フラグメント( document.createDocumentFragment
) を使用する必要があります。すべてのデータ要素でリフローを回避している場合、コードのパフォーマンスが大幅に向上する可能性があり ますが、代わりにそれらの 20 個をフラグメントにバンドルし、それを 1 回の操作でメイン DOM に挿入します。
詳細を知らずに、データを「遅延挿入」することは良い考えのようです。JSON オブジェクトを解析して配列に保存してから、スクロール位置を監視し (タイマーを使用してイベントのオーバーキルを回避します)、必要に応じて配列からさらに要素を挿入する必要があります。それらを削除するのではなく、あなたが(高価に)挿入したものを保持しようと思います。
それとは別に、もう少し詳細を教えてください: 要素をどのようにレンダリングして挿入するか、それらのマークアップはどのくらい複雑ですか?
于 2012-07-22T20:57:25.570 に答える