3

無限スクロールを実装しました(つまり、スクロールバーがdivの一番下に達したときにレコードをロードします)。正常に動作しますが、ページにあまりにも多くのレコードをロードすると、ページが重くなりすぎてレンダリングが遅くなります。実際、私はこの手法をグリッドビューの代わりとして使用しているので、このシナリオで重い DOM を管理するにはどうすればよいですか?

4

1 に答える 1

0
  1. DOM 要素を最小限に減らします。
  2. ラッパーの数を最小限に抑えます。
  3. (ヤフーの提案) を含む DOM 要素へのアクセスを最小限に抑えます。
    • アクセスされた要素への参照をキャッシュする
    • ノードを「オフライン」で更新し、ツリーに追加します
    • JavaScript によるレイアウトの修正を避ける
  4. 行数を取得するなど、削減できる計算がある場合(毎回計算するのではなく、新しい行の数を現在の行に追加するだけです)、それをキャッシュします(メモ化ウィキペディア

DOM 要素のコレクションに対して任意のタイプの反復があり、反復に jQuery を使用しない場合は、これを使用します ( JavaScript パターンによる提案):

for (var iteration = 0, limit = lengthOfElements; iteration++; iteration < limit)

また

for (var i = myarray.length; i--; )
于 2012-04-05T01:25:38.227 に答える