JSON で埋められている間、動的に埋められたコンテンツ div (#photographs) を非表示にしようとしています。
$(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 はフェードアウトします (もちろん写真も)。
何か案は?