2008-10-08 8 views
26

Tengo este código que realiza una llamada ajax y carga los resultados en dos divs duplicados cada vez que se cambia un menú desplegable. Quiero que los resultados se desvanezcan en el div, para dar una indicación más obvia de que algo ha cambiado, ya que es tan transparente que a veces es difícil notar el cambio.Haciendo que mi ajax esté actualizado div fade en

print("$('.ajaxdropdown').change(function(){ 


     $.ajax({ 
      type: "GET", 
      url: "/includes/html/gsm-tariff.php", 
      data: "c_name="+escape($(this).val()), 
      success: function(html){ 
       $("#charges-gsm").html(html); 
            //i want to fade result into these 2 divs... 
       $("#charges-gsm-faq").html(html); 
       $("#charges-gsm-prices").html(html); 
      } 
     }); 
    });"); 

He intentado anexar el método fadein y algunas otras cosas, pero no me gusta.

Respuesta

43

Tendrá que hide() antes de poder usar fadeIn().

ACTUALIZACIÓN: Así es cómo se haría esto encadenando:

$("#charges-gsm-faq").hide().html(html).fadeIn(); 
$("#charges-gsm-prices").hide().html(html).fadeIn(); 
+2

¿Hay alguna manera más corta de hacerlo que usando cadenas o algo así? $ ("# charges-gsm-faq, # charges-gsm-prices"). Hide(); $ ("# charges-gsm-faq, # charges-gsm-prices"). Html (html); $ ("# charges-gsm-faq, # charges-gsm-prices"). Fadein (lento); –

+1

Sí, he editado mi respuesta para mostrar el encadenamiento. –

3

También podría dejarlo visible y simplemente hacerlo transparente, y luego se desvanecen a una opacidad total, usando:

... .css({ opacity: 0 }).fadeTo("normal",1); 
2

Vas a tener que ocultar() antes de poder utilizar fadeIn()

encima trabajó para mí

0

Funciona con carga():

$('.element').load('file.html').hide().fadeIn(); 
Cuestiones relacionadas