Как-то так это делается, если писать по-человечески
:
function loadedCallback(){
alert('загружены все');
}
document.addEventListener("DOMContentLoaded", function(event) { //когда загружен dom
//картинок ещё не загружено
var imgsLoading = 0;
//обработчик загрузки
function loaded(){
//декрементируем кол-во загружающихся картинок, и если после этого осталось 0 - значит загружены все
if(--imgsLoading === 0) loadedCallback();
}
//полуаем все картинки, если нужны не все, а из какого-то блока, соответственно меняем document на нужный элемент.
var imgs = document.getElementsByTagName('img'), i = imgs.length;
//перебираем в цикле
while(i--){
//если уже загружена - переходим к следующей
if(imgs[i].complete) break;
//инкрементируем кол-во незагруженных
imgsLoading++;
//вешаем обработчик на случай загрузки или ошибки
imgs[i].onload = imgs[i].onerror = loaded;
}
//если все уже загружены - сразу вызывем колбэк
if(imgsLoading === 0) loadedCallback();
});