2010-08-23 155 views
2

我目前正在嘗試設置一個小站點,它使用JavaScript和JSON從flickr中提取集合。這一切都工作正常,但網站上的照片順序不同於Flickr上的照片順序。我已經廣泛搜索這個解決方案,但沒有運氣。有沒有人有過這個問題?和/或知道解決方案?我當前的代碼是:保持設置訂購訂單Flickr API

function getImages(setID) { 
$.getJSON("http://api.flickr.com/services/feeds/photoset.gne?set=" + setID + "&nsid=USER_ID&lang=en-us&format=json&jsoncallback=?", displayImages); 
} 

function displayImages(data) { 
var htmlString = ""; 
$.each(data.items, function(i,item){ 

    // get large images 
    var nextImage = (item.media.m).replace("_m.jpg", "_b.jpg"); 
    htmlString += '<img title="' + item.title + '" src="' + nextImage; 
    htmlString += '" alt="'; htmlString += item.title + '" />'; 

}); 

$('#images').html(htmlString); 
} 

回答

1

經過翻翻API,我結束了使用的feedsrest,而不是它帶來正確的順序。不幸的是,您不能以這種方式訪問​​大圖像,但提供了訪問它們的信息,因此在循環時爲每個圖像創建img src

function getImages(setID) { 
$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=yourAPIkey&photoset_id=" + setID + "&lang=en-us&format=json&jsoncallback=?", displayImages); 
} 

function displayImages(data) { 
var htmlString = ""; 
$.each(data.photoset.photo, function(i,photo){ 

    var imgSrc = 'http://farm' + photo.farm + '.static.flickr.com/' + photo.server + '/' + photo.id + '_' + photo.secret + '_b.jpg'; 
    htmlString += '<img title="' + photo.title + '" src="' + imgSrc; 
    htmlString += '" alt="'; htmlString += photo.title + '" />'; 

}); 

$('#images').html(htmlString); 
}