Хорошо, теперь, когда я лучше понимаю, что вы пытаетесь сделать.
Создайте другое изображение (его не нужно вставлять в DOM).
Установите обработчик загрузки для этого изображения, чтобы вы знали, когда оно загружено.
Установите SRC для этого изображения на свет.
Когда это изображение загружено, вызовите свой код, чтобы изменить атрибуты на «img # portimg». Поскольку светлое изображение теперь находится в кэше памяти браузера, оно будет отображаться немедленно. Между тем, ваше изображение загрузки отображалось бы все время, пока загружалось светлое изображение.
Если вы хотите сделать это менее сложным способом, просто предварительно загрузите светлое изображение в последовательности запуска, чтобы вам не пришлось ждать его с помощью:
var myLightImage = new Image(light); // create Image object in global variable
Тогда он будет доступен мгновенно в любое время, когда вам это нужно, без ожидания.