Khi lặp qua bộ sưu tập lớn và thêm nó vào DOM, DOM chỉ làm mới sau khi tất cả các mục đã được nối. Tại sao không cập nhật DOM sau mỗi cuộc gọi append()
? Tôi có thể buộc DOM làm mới sau mỗi lần chắp thêm (hoặc có thể sau mỗi số lần nối tiếp)?jQuery chắp thêm vào vòng lặp - DOM không cập nhật cho đến khi kết thúc
var i = 0;
for (i=0; i<5000; i++) {
$('#collection').append('<li>Line Item</li>');
}
LƯU Ý: Tôi hiểu rằng hiệu suất tốt hơn (tránh DOM reflow) có thể đạt được bằng cách thêm tất cả các yếu tố để một biến địa phương, và sau đó phụ thêm rằng biến vào DOM. Nhưng tôi muốn các phần tử n đầu tiên hiển thị trên màn hình, sau đó là n tiếp theo, v.v. cho đến khi tất cả các phần tử được hiển thị.
Tôi nghĩ là có, nhưng tôi nghĩ nó đóng băng giao diện người dùng trong khi thực hiện vòng lặp lớn, vì vậy dường như nó đã làm tất cả cùng một lúc nhưng không. –