Ok, allora fai così: inserisci le immagini con una notazione diversa, mettendo il path all'immagine corretta nell'alt, anziché nel src, mentre nel src metti il path all'immagine di loading

codice:
[img]imgs/loading.gif[/img]
[img]imgs/loading.gif[/img]
[img]imgs/loading.gif[/img]
[img]imgs/loading.gif[/img]
[img]imgs/loading.gif[/img]
[img]imgs/loading.gif[/img]
Poi crei una funzione per generare degli oggetti Image con i quali caricare i path contenuti negli alt:

codice:
var imgs = [];
var allImgs;
window.onload = function(){
  allImgs = document.getElementsByTagName('img');
   for(i = 0; i < allImgs.length; i++){
      if(allImgs[i].className == 'Async'){
         var img = new Image();
         img.onload = function(){
             for(j = 0; j < allImgs.length; j++){
                if(this.src.indexOf(allImgs[j].alt) != -1){
                   allImgs[j].src = this.src;
                   break;
                }
             }
         }
         img.src = allImgs[i].alt;
      }
   }
}
Nota che per identificare le immagini da cambiare uso la classe "Async".

Se hai domande sulla funzionalità fai pure.