Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590

    [jquery]un solo loader gif per diverse richieste ajax

    salve, ho diverse richieste ajax eseguite in parallelo, ed uso un solo loader gif per tutte, quindi in tutte le richieste ho
    codice:
    $.ajax({    [...]
    beforeSend: function() {
    $('#status').html('<img src="loader.gif"/>');
    
    
      },
    [...]
    .done(function() {
      $('#status').html('');
    
    
     });
    ovviamente questa soluzione non va, io devo avviare il loader quando le richiesta partono e stopparlo solo quando l'ultima richiesta viene completata...

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Imposti una variabile globale (var countAjax) ad inizio chiamate imposti la variabile con il totale delle chiamate ajax (poniamo 5) e attivi il loadgif, ad ogni response delle chiamate ajax decurti di uno e verifichi il contatore countAjax quando arriva a 0 nascondi la gif attesa.

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Può capitare che una richiesta finisca prima di un'altra e viceversa?

    Edit. Ok hanno risposto

    Io personalmente a livello stilistico userei i metodi hide() e show() per la gif.
    codice:
    <img src="img/loader.gif" alt="loading..." id="idgif" hidden>
    
       $('#idgif').show(); //visualizza la gif
       $('#idgif').hide();  //nascondi la gif
    Ultima modifica di Azucchi; 05-08-2014 a 19:21

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    ho visto che esite un $(document).ajaxStop(function() {..});

    per ora ho usato questa..in caso di problemi userò il contatore..o credi sia preferibile in ogni caso?

    @azucchi uso sia .html('') che hide() in sequenza..sarà ridondante ma non mi piace l'idea di avere la gif che continua a girare nascosta

  5. #5
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da jimbo0 Visualizza il messaggio
    @azucchi uso sia .html('') che hide() in sequenza..sarà ridondante ma non mi piace l'idea di avere la gif che continua a girare nascosta
    uahahhah non ci avevo fatto caso

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    nel codice postato non l'ho scritto, ma nel codice reale c'è

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da jimbo0 Visualizza il messaggio
    ho visto che esite un $(document).ajaxStop(function() {..});

    per ora ho usato questa..in caso di problemi userò il contatore..o credi sia preferibile in ogni caso?
    Se funziona e fa quello che vuoi direi proprio di no
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.