Как вставить большое количество dom-элементов на страницу?

Есть набор элементов(40 000+), которые надо отрендерить на странице с помощью чистого js.
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 3
hzzzzl
@hzzzzl
container.innerHTML = [...Array(40000)].map(div => `<div> ${"содержимое дива"} </div>`).join('')


попробовал тут на тостере, самое удивительное что даже ничего не развалилось и почти моментально выполнилось :D

5ebfece0d7762853104469.png
Ответ написан
Комментировать
Snova_s_vami
@Snova_s_vami
JavaScript ES5-8, TypeScript, Angular
Используйте WebWorker и вынесите туда всю логику по формированию виртуального дом, а когда сформируете перебором нужную строку, верните всё в основной скрипт и вставьте разом. Таким образом страница не будет подвисать из-за расчетов и уж тем более не следует в цикле менять DOM, 1 раз формируется, 1 раз вставляется.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Создайте чисто текстовой контейнер, добавьте 1 элемент и присвойте иннерhtml ваш буфер
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы