無限スクロールを実装しました(つまり、スクロールバーがdivの一番下に達したときにレコードをロードします)。正常に動作しますが、ページにあまりにも多くのレコードをロードすると、ページが重くなりすぎてレンダリングが遅くなります。実際、私はこの手法をグリッドビューの代わりとして使用しているので、このシナリオで重い DOM を管理するにはどうすればよいですか?
1007 次
1 に答える
0
- DOM 要素を最小限に減らします。
- ラッパーの数を最小限に抑えます。
- (ヤフーの提案)
を含む DOM 要素へのアクセスを最小限に抑えます。
- アクセスされた要素への参照をキャッシュする
- ノードを「オフライン」で更新し、ツリーに追加します
- JavaScript によるレイアウトの修正を避ける
- 行数を取得するなど、削減できる計算がある場合(毎回計算するのではなく、新しい行の数を現在の行に追加するだけです)、それをキャッシュします(メモ化ウィキペディア)
DOM 要素のコレクションに対して任意のタイプの反復があり、反復に jQuery を使用しない場合は、これを使用します ( JavaScript パターンによる提案):
for (var iteration = 0, limit = lengthOfElements; iteration++; iteration < limit)
また
for (var i = myarray.length; i--; )
于 2012-04-05T01:25:38.227 に答える