Почему при полной загрузке изображение оно все равно рендерится при вставке в DOM?

Такие дела.

У меня есть пачка картинок, которые динамически меняются.
Перед использованием я каждую загружаю:
let i = 1;
            function loadImage () {
                let img = new Image();
                img.onload = () => {
                    if (i === count) {
                        resolve();
                    } else {
                        i++;
                        loadImage();
                    }
                };
                img.src = path;
            }
            loadImage();


И, когда я их непосредственно вставляю в DOM, то они начинают рендериться! Причем, многие из них рендерятся частично и это жутко раздражает.

Что можно с этим сделать?
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ответы на вопрос 1
@de_arnst
Frontend разработчик
Так работают браузеры.

Обычно делал так:
  • Загружаю картинку
  • Вставляю в DOM элемент с position:absolute:left:-99999px;
  • Вставляю в нужное место тот же src


Браузер второй раз не рендерит одну и ту же картинку, а берет старую.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы