Live che contiene post come faccio a fare vedere loading?

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Salve,

ho realizzato questo piccolo script:
Codice:
	$(".prodotti").live("click",function(e){
		

		f=$(this).attr('rel');
		$.post("file2.php", { nome: f }, function(msg){ $("#testo").html(msg);  $("#testo").cycle();  });

		
		e.preventDefault();
	});
il problema è che vorrei far visualizzare un loading - in quanto vi è un piccolo tempo di attesa prima che carichi il nuovo contenuto (fatto di foto) ->ma non so come fare :crying:
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Prima della chiamata in ajax puoi modificare il div #testo no?
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Ciao Nefyt, grazie della risposta, ma purtroppo non posso fare quello che dici poiché nel div #testo c'è già un testo predefinito che viene successivamente cambiato da delle img (ovviamente dalla chiamata ajax).
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Allora che tipo di effetto 'loading' intendi se non vuoi sovrascrivere il div che sta caricando?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
crea un div sotto a #testo, impostalo con display hidden, prima del send lo mostri con show() subito dopo lo nascondi con hide()
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Ho risolto facendo così:
Codice:
$(".prodotti").live("click",function(e){
	
/*** div loading***/		
$("#testo").html('<div style=\'text-align:center; \'><img src=\'images/loading.gif\' /></div>');
/*** div loading***/		
		
		f=$(this).attr('rel');
		$.post("file2.php", { nome: f }, function(msg){ $("#testo").html(msg);  $("#testo").cycle();  });
		$("#prova").hide();
		
		
		
		e.preventDefault();
	});
Poiché tanto viene sovrascritto dalleimg caricarte successivamente.