Quando si esegue il ciclo su una grande raccolta e la si aggiunge al DOM, il DOM si aggiorna solo dopo che tutti gli elementi sono stati aggiunti. Perché il DOM non si aggiorna dopo ogni chiamata append()
? Posso forzare il DOM ad aggiornare dopo ogni append (o forse dopo ogni n numero di appends)?jQuery append in loop - DOM non si aggiorna fino alla fine
var i = 0;
for (i=0; i<5000; i++) {
$('#collection').append('<li>Line Item</li>');
}
NOTA: So che prestazioni migliori (evitando DOM reflow) può essere ottenuto aggiungendo tutti gli elementi di una variabile locale e quindi aggiungendo quella variabile al DOM. Ma voglio che i primi n elementi vengano visualizzati sullo schermo, quindi i successivi n, ecc. Fino a quando tutti gli elementi non sono renderizzati.
Penso che lo faccia, ma penso che blocchi l'interfaccia utente mentre fa il grande ciclo, quindi sembra che abbia fatto tutto in una volta ma non è così. –