Zrobilem stronke internetowa ktora mozna zobaczyc tutaj, nie jest uzupelniona jeszcze w tresc ale mozna zaobserwowac efekt o ktorym zaraz bedzie mowa.
Wiec zdjecia laduja sie za pomoca jQuery. No i teraz np klikajac na link ktory w jquery wyglada tak :
$("div.data a").live("click",function(){ var self = $(this); setTimeout(function(){ var xhr = $.ajax({ url: "gallery.php", type: "POST", data: ({'dir':self.parent('div.data').attr('rel'), 'kategory':self.parent('div.data').attr('value'), 'gallery':'yes'}), dataType: "script", success: function(msg){ //$('#foto').hide().fadeIn('slow'); $( "#foto" ).html(msg);//.hide().fadeIn('slow'); $max_clicks = $("#img_container").children().size(); } }); //tu dalsze funkcje....
zostaje wyslane żądanie do pliku gallery.php no i laduje sie galeria, tylko ze po klikniecu ewidentnie widac ladowanie sie zdjecia, czyli zdjecie laduje sie od gory do dolu.....czy jest mozliwosc przy uzyciu jquery aby zdjecie najpierw sie zaladowalo a pozniej dopiero wysiwtlilo ?
Czy jabym dal np w succes : function cos takiego :
success: function(msg){ $('#foto').hide().delay(1).show(); }
To by ten efekt byl niewidoczny i zdjecie wyswietlaloby sie dopiero po zaladowaniu ?