[jQuery] problem z synchronizacją wyświetlania

0

Witam,
Mam taki kod:

$(document).ready(function() {

$('.rozwin').live('click', function() {
	var aa=$(this).attr("id");
	$("#span"+aa).removeClass("expand");     //usunięcie aktualnej klasy
             $("#span"+aa).addClass("expand_load");  //ustawienie klasy która powinna być wyświetlana wykonywania kolejnej funkcji
	$.get("app/models/konf_pokaz.php", { nrid: aa}, function(data){$('#div'+aa).html(data);}); //pobranie danych z konf_pokaz.php i wpisanie ich do odpowiedniego diva

             $("#span"+aa).removeClass("expand_load");
	$("#span"+aa).addClass("noexpand"); //ustawienie klasy która powinna być wyświetlana po wyświetlanie diva z zawartością pobraną z pliku php
	
});
});

Problem polega na tym że klasa „expand_load” jest ustawiana ale jest to niezauważalne i od razu jest przestawiana na klasę „noexpand”, wyświetlenie div’a z danymi traw dłużej. Chciał bym żeby klasa „expand_load” była ustawiona do momentu aż div z danymi z pliku php zostanie wyświetlony i dopiero potem zmieniała się na klase „noexpand”.

Proszę poradę jak to zrobić…
Z góry dziękuje

0

nie interesowalem sie jak działa .get ale wydaje mi sie ze podobnie jak w .ajax to function(data) wywoluje Ci sie w momencie jak dane zostaną odebrane.. do tej funkcji wrzuć to removeClass i addClass

0
$(function() {
  $('.rozwin').live('click', function() {
    var aa=$(this).attr('id');
    $("#span"+aa).removeClass('expand').addClass('expand_load');
    $.get('app/models/konf_pokaz.php', {nrid: aa}, function(data) {
      $('#div'+aa).html(data);
      $('#span'+aa).removeClass('expand_load').addClass('noexpand');
    });
  });
});

PS. polecam zmienić .live na .delegate - jest o wiele szybsze, bo event sprawdza element nadrzędny, nie ma "bąbelkowania" aż do document.

dzek69: .get to wrapper na .ajax('get', ...)

1 użytkowników online, w tym zalogowanych: 0, gości: 1