2009-10-02 18 views

Respuesta

8

¿Usas jQuery?

Si lo que puede utilizar:

ajaxStart & ajaxStop: http://docs.jquery.com/Ajax

Por ejemplo:

$(function(){ 

    // hide it first 
    $("#spinner").hide(); 

    // when an ajax request starts, show spinner 
    $.ajaxStart(function(){ 
     $("#spinner").show(); 
    }); 

    // when an ajax request complets, hide spinner  
    $.ajaxStop(function(){ 
     $("#spinner").hide(); 
    }); 
}); 

Puede ajustar un poco con un contador de petición de que los incrementos y decrementos en caso de que tiene muchas solicitudes simultáneas

Si no usa jQuery, consulte el código fuente de jQuery para el cual los eventos ajaxStart realmente se registran en javascript antiguos y simples.

HTH Alex

+0

Estoy usando un prototipo. – brainfck

+0

Ok, no es tan fácil, pero consulte esta página http://www.prototypejs.org/api/ajax/request y los eventos: - onCreate - onComplete –

+2

Gracias, he cambiado a jQuery. El prototipo es una mierda :) – brainfck

1
$().ajaxSend(function(r, s) { 
    $("#spinner").show(); 
}); 

$().ajaxStop(function(r, s) { 
    $("#spinner").fadeOut("fast"); 
}); 
2

que utiliza esta aplicación en mi rieles. Esto funcionó para mí:

$(document).ajaxSend(function(r, s) { 
$("#spinner").show();}); 


$(document).ajaxStop(function(r, s) { 
$("#spinner").fadeOut("fast");}); 
+0

Tuve que usar $ (documento) también, el $ vacío() o solo $ sin corchetes no funcionó. – Blizwire

Cuestiones relacionadas