Sure, Javascript is asynchronous. Loading images is random and parallel.
The opposite of parallel is sequential.
Yepnope provides you a sequential loading: http://yepnopejs.com/
yepnope.addPrefix('preload', function(resource){
resource.noexec = true;
return resource;
});
yepnope({
load: [
"preload!images/p2.jpg",
"preload!images/p3.jpg",
"preload!images/p4.jpg",
"preload!images/p5.jpg",
"preload!images/p6.jpg"
],
callback: function(url,result,key){ console.log(url+" is preloaded.", "Image #"+key+" is ready to display.") },
complete: function() { implement your images here or later }
});