Можно что то типа такого
function loadResources(arr,func){//функция загрузки внешних ресурсов arr - массив ссылок, func - функция которая вызовется после загрузки всех ресурсов
var loadStatus = false;
loadStatus = {count: arr.length, loaded: 0, percent: 0};//count - общее количество ресурсов, loaded - сколько загружено ресурсов, percent сколько загружено в процентах
for(var i = 0; i < arr.length; i++){
var tmp = new Image();
tmp.src = arr[i];
tmp.onload = function(){
loadStatus.loaded++;
loadStatus.percent = (loadStatus.loaded * 100)/loadStatus.count;
if(loadStatus.loaded >= loadStatus.count)
func();
}
return loadStatus;
}
//Пример
var z = loadResources(["qwerty.png","mycat.jpg"],function(){alert("Все ресурсы загружены!")});
alert("На данный момент загружено "+z.percent+"%");