我加載我的Flickr設置到我的網站,像這樣:使用JSON變量作爲公共變量?
$(window).load(function() {
var apiKey = 'xxx';
var userId = '[email protected]';
$.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) {
$.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";
/*var FlickrLink = "http://www.flickr.com/photos/" + data.photoset.owner + "/" + flickrPhoto.id + "/";*/
$("<img/>").attr("src", basePhotoURL).appendTo("#photographs").wrap(("<div class='item'></div>"))
});
**$("<a href='#' class='zoom'/>").appendTo(".item");**
**$("<a href='#' class='flickr'/>").appendTo(".item");**
$("#photographs").gridalicious({
gutter: 2,
animate: true,
effect: 'fadeInOnAppear',
width: 320,
complete: onComplete()
});
function onComplete(){
$("#loader").delay(20000).fadeOut("slow");
$(".item").hover(function(){
$(".zoom, .flickr", this).stop(true,true).fadeIn(300);
}, function() {
$(".zoom, .flickr", this).stop(true,true).fadeOut(300);
});
}
});
});
的.zoom & .flickr的div追加到.item DIV(包含圖片)。我需要var fullPhotoURL和var FlickrLink因爲我想在代碼中使用突出顯示(帶星號)錨。當我這樣做時,出現無法找到變量fullPhotoURL和變量FlickrLink的錯誤。
我該如何解決這個問題?
然後我收到「未定義」在URL上。 $(「」).appendTo(「。item」); –
這是因爲它是異步的。您需要$(「」).appendTo(「。item」);在你的getJSON子句裏面 – asgoth
對不起,我的不好。它在getJson塊中。 – asgoth