Javascript Flickr JSON提要中的随机照片

Javascript Flickr JSON提要中的随机照片,javascript,jquery,json,Javascript,Jquery,Json,我使用这个查询解析来自flickr帐户的JSON提要,并将该提要中最近12张照片的代码注入名为#photos的div中 //设置查询所需的变量 变量URL=”http://api.flickr.com/services/feeds/photos_public.gne"; var ID=“”; var jsonFormat=“&lang=en-us&format=json&jsoncallback=?”; var ajaxURL=URL+“?id=“+id+jsonFormat; //获取fli

我使用这个查询解析来自flickr帐户的JSON提要,并将该提要中最近12张照片的代码注入名为#photos的div中


//设置查询所需的变量
变量URL=”http://api.flickr.com/services/feeds/photos_public.gne";
var ID=“”;
var jsonFormat=“&lang=en-us&format=json&jsoncallback=?”;
var ajaxURL=URL+“?id=“+id+jsonFormat;
//获取flickr帐户的最后照片,将其解析为HTML代码
$.getJSON(ajaxURL,函数(数据){
var htmlString='
; //现在开始循环浏览我们的Flickr照片详细信息 $.each(data.items,function(i,item){ //我只想要易怒的方形缩略图 var sourceSquare=(item.media.m).replace(“_m.jpg”,“_s.jpg”); //这里是我们拼凑HTML的地方 htmlString+=''; 如果(i==11){ 返回false; } }); //在#images DIV中弹出我们的HTML $('#photos').html(htmlString); }); // 结束getJSOON

但我需要加载12张随机照片,而不是最新的12张,我如何才能做到这一点?

将它们全部转储到一个数组中,然后拼接出来。因为实际上是从原始数组中删除元素,所以您不必担心两次提取同一项

$.getJSON(ajaxURL, function(data){
   var items = data.items, // array
       extract = [], // array
       max = 12; // number of items to remove
   for (var i=0; i<max; i++) {
     var rand = Math.floor(Math.random()*items.length); // a random index
     extract.push(items.splice(rand,1)[0]); // splice() returns an array
   };
   // do something with 'extract'
});
$.getJSON(ajaxURL,函数(数据){
var items=data.items,//数组
extract=[],//数组
max=12;//要删除的项目数

对于(var i=0;我认为flicker API不支持这样的功能,您必须自己做
$.getJSON(ajaxURL, function(data){
   var items = data.items, // array
       extract = [], // array
       max = 12; // number of items to remove
   for (var i=0; i<max; i++) {
     var rand = Math.floor(Math.random()*items.length); // a random index
     extract.push(items.splice(rand,1)[0]); // splice() returns an array
   };
   // do something with 'extract'
});