Basta poco con jquery per fare quello che chiedi.
Io farei così:
1) onclick setti una di queste http://ajaxload.info/ come sfondo del div in questione.
codice:
$('#divID').css("background-image", "url(ajaxload.gif)");
2) subito dopo fai la richiesta ajax della pagina di cui vuoi caricare i contenuti:
codice:
$('#result').load('ajax/test.html');
3) Togli il background di caricamento non appena i contenuti sono disponibili (si fa in un'unico passaggio, modificando così il punto 2):
codice:
$('#result').load('ajax/test.html', function() {
$('#divID').css("background-image", "none");
});
Ovviamente se vuoi che il div sia in una certa posizione con determinate misure, non devi fare altro che cambiare il css ad esso relativo.
http://api.jquery.com/load/ qui c'è tutta la documentazione di .load()
Spero ti possa essere utile, ciao.