A menos que haya algo que no note, me parece que todo está bien. Personalmente, te recomiendo trabajar con el método
Ajax de jQuery, es más sencillo de utilizar, además, usando jQuery, tienes la posibilidad de utilizar los eventos
ajaxStart y
ajaxStop. El primero se activa cuando se realiza algún proceso con el método Ajax, por lo que ahí podrías indicar que aparezca la imagen de espera, mientras que con el segundo, podrías ocultar la imagen.
Código Javascript
:
Ver original$(document).ajaxStart(function(){
$("#run").fadeOut(50); //Oculto el div
$("#cargando").fadeIn(800); //Muestro la imagen de espera
}).ajaxStop(function(){
$("#run").fadeIn(800); //Muestro el div
$("#cargando").fadeOut(800); //Oculto la imagen de espera
});
Saludos