2008-10-08 3 views
26

Mam ten kod, który wykonuje połączenie ajax i ładuje wyniki do dwóch duplikatów div za każdym razem, gdy lista rozwijana jest zmieniona. Chcę, aby wyniki zostały wyblakłe w div, aby dać bardziej oczywiste wskazanie, że coś się zmieniło, ponieważ jest tak płynne, że czasami trudno zauważyć zmianę!Dokonywanie mojego ajax updated div fade w

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); 
      } 
     }); 
    });"); 

Próbowałem dołączenie metody fadein i kilka innych rzeczy, ale bez radości.

Odpowiedz

43

Będziesz musiał hide() go przed użyciem fadeIn().

UPDATE: Oto jak chcesz to zrobić przez łańcuchowym:

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

więc jest krótszy sposób robienia tego niż przy użyciu łańcuchów lub coś takiego? $ ("# charges-gsm-faq, # charges-gsm-prices"). Hide(); $ ("# charges-gsm-faq, # charges-gsm-prices"). Html (html); $ ("# charges-gsm-faq, # charges-gsm-prices"). Fadein (slow); –

+1

Tak, zredagowałem swoją odpowiedź, aby pokazać łańcuch. –

3

Można również pozostawić widoczny i po prostu sprawiają, że przejrzyste, a następnie znikną go do pełnej nieprzejrzystości, używając:

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

Musisz ukryć() go, zanim będzie można użyć fadeIn()

Przede pracował dla mnie

0

Działa z obciążeniem():

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