Primero hace el div que muesta el "Cargando..."; cuando lo tenga listo por CSS coloca display:none (osea invisible) y luego lo hace visible en la misma parte de la llamada de Ajax
    
Código Javascript
:
Ver original$("#boton").click(function(){
    $("#cargando").show() // Primero muestra el DIV de 'cargando'
    $.post("pagina.php",function(){
         $("#cargando").hide() // Callback de ajax (la funcion al finalizar)
    })
})