我正在尝试显示频道的前5个视频。但是我很难将它限制在五个。
var playListURL = 'http://gdata.youtube.com/feeds/api/users/example/uploads?v=2&alt=json&callback=?';
var videoURL= 'http://www.youtube.com/watch?v=';
$.getJSON(playListURL, function(data) {
var list_data="";
$.each(data.feed.entry, function(i, item) {
var feedTitle = item.title.$t;
var feedURL = item.link[1].href;
var fragments = feedURL.split("/");
var videoID = fragments[fragments.length - 2];
var url = videoURL + videoID;
var thumb = "http://img.youtube.com/vi/"+ videoID +"/default.jpg";
list_data += '<a href="'+ url +'" title="'+ feedTitle +'"><div class="thumbcrop" style="background-image:url('+thumb+');background-size:cover; background-position:center;"></div></a>';
});
$(list_data).appendTo(".videoClass");
});
我怎样才能做到这一点?我已经尝试了while(i<6)
和if(i<6)
等不成功的条款,但它们都没有显示任何结果。
答案 0 :(得分:3)
如果您不想获得所有结果,请不要使用每个 首先迭代所有结果。就那么简单。对于有限和已知数量的步骤,使用简单逻辑:
for (var i = 0; i <= 4; i++) {
var item = data.feed.entry[i];
// your other stuff goes here
}
...或者,正如其他状态正确一样,首先将您的查询省略为5,然后自由使用each
。
答案 1 :(得分:3)
在您要求提供结果的网址中,您可以添加额外的参数&max-results=5
,以便限制Feed的数量。
所以你会有
var playListURL = 'http://.../uploads?v=2&alt=json&max-results=5&callback=?';
有关youtube数据api parameters
的更多信息