大きなコレクションをループしてDOMに追加すると、DOMはすべてのアイテムが追加された後にのみ更新されます。 append()
の呼び出し後にDOMが更新されないのはなぜですか?追加するたびにDOMを強制的にリフレッシュさせることができますか?jQueryループで追加 - DOMは最後まで更新されません
var i = 0;
for (i=0; i<5000; i++) {
$('#collection').append('<li>Line Item</li>');
}
注:私は(DOMリフローを避ける)より良いパフォーマンスは、ローカル変数へのすべての要素を追加して、DOMにその変数を追加することによって達成することができることを理解しています。しかし、すべての要素がレンダリングされるまで、最初のn要素を画面にレンダリングし、次にnをレンダリングします。あなたはしばらく一度のブラウザに制御をお返しする必要が
大きなループをしている間にUIがフリーズしていると思うので、一気にすべてのことを行ったように見えますが、そうはしませんでした。 –