Как-то так это делается, если писать по-человечески

:
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();
});