Я пытаюсь скрыть свой динамически заполняемый элемент содержимого (#фотографии), пока он заполняется JSON.
$(window).load(function() {
$("#loader").fadeIn("fast");
$.getJSON('http://api.flickr.com/services/rest/?format=json&method=flickr.photosets.getPhotos&photoset_id=' + photoset_id + '&per_page=1000' + '&page=1' + '&api_key=' + apiKey + '&user_id=' + userId + '&jsoncallback=?', function(data) {
var fullPhotoURL, flickrLink;
$.each(data.photoset.photo, function(i, flickrPhoto){
var basePhotoURL = 'http://farm' + flickrPhoto.farm + '.static.flickr.com/'
+ flickrPhoto.server + '/' + flickrPhoto.id + '_' + flickrPhoto.secret + "_z.jpg";
var fullPhotoURL = 'http://farm' + flickrPhoto.farm + '.static.flickr.com/'
+ flickrPhoto.server + '/' + flickrPhoto.id + '_' + flickrPhoto.secret + "_l.jpg";
$("<img/>").attr("src", basePhotoURL).appendTo("#photographs").wrap(("<div class='item'></div>"))
});
$("#loader").fadeOut("fast");
});
});
Вышеупомянутое, конечно, работает в некоторой степени. Анимация загрузки (#loader) постепенно появляется при загрузке и исчезает, когда вызов JSON начался. Что мне нужно, так это то, что во время загрузки изображения не будут отображаться (поэтому установите #photographs on display: none?), и после того, как все загрузится, #loader исчезнет (и изображения тоже конечно).
Есть идеи?
each
внутри обратного вызова GET$.ajax
? - person the_marcelo_r   schedule 27.12.2012