仅显示'x'量的最新结果JSON + jQuery

时间:2013-05-30 12:41:27

标签: jquery json

我的这项工作很有效。

(function() {

    // What JSON do you want to get? Note: If you're making a request from your own domain to your own domain, delete &callback=?.
    var url = 'http://myurl/guest-posts/?category=ffm&format=json&callback=?';

    $.getJSON(url).done(function(data) { // Adds the JSON to the data variable.

        // Create the HTML string.
        var headerContent = '<h1><a href="' + data.website.authenticUrl + '">' + data.website.siteTitle + '</a></h1>';

        // Set the HTML.
        $('#header').html(headerContent);

        $(data.items).each(function() {
            var post =  '<a href="http://myurl/' + this.fullUrl + '"><h2>' + this.title + '</h2></a><img src= "'+this.assetUrl+'" alt ="'+this.filename+'"><a href="http://myurl/' + this.fullUrl + '">Read More</a>' ;
            $('#blog').append(post);
        });
    });
})();

我希望它能显示6条最新帖子。我不知道如何循环它,以便只显示6个最新的帖子。如果您想将其称为“。”,请覆盖旧帖子。

ATM我有3个分配给cateogry的帖子,以正确的顺序显示。标题,图像缩略图,然后阅读更多链接whcih去帖子。

我只是把它全部循环所以在任何给定的时间只有6篇文章,最近的一篇文章。

快速成像。

3 个答案:

答案 0 :(得分:1)

将您的代码更改为

 $(data.items).each(function(index) {
    //Stop 
    if(index > 5)
         return; 

   var post =  '<a href="my-url/' + this.fullUrl + '"><h2>' + this.title + '</h2></a><img src= "'+this.assetUrl+'" alt ="'+this.filename+'"><a href="my-url.com/' + this.fullUrl + '">Read More</a>' ;
      $('#blog').append(post);
  });

演示:http://jsfiddle.net/B8kQ9/

答案 1 :(得分:1)

$(data.items).each(function() {
        var post =  '<a href="http://fantasyfootballpundits.com/' + this.fullUrl + '"><h2>' + this.title + '</h2></a><img src= "'+this.assetUrl+'" alt ="'+this.filename+'"><a href="http://fantasyfootballpundits.com/' + this.fullUrl + '">Read More</a>' ;
        $('#blog').append(post);
    });

^^该代码循环遍历数据中的每个项目,因此它不仅限于6

你可以使用这样的东西来循环使用普通的for循环。

for(var i = 0; i < 6; i++)
{
    if(data.items[i] != null)
    {
        var current = data.items[i];
        var post =  '<a href="http://fantasyfootballpundits.com/' + current.fullUrl + '"><h2>'     + current.title + '</h2></a><img src= "'+current.assetUrl+'" alt ="'+current.filename+'"><a href="http://fantasyfootballpundits.com/' + current.fullUrl + '">Read More</a>' ;
        $('#blog').append(post);
    }
}

希望这能指出你正确的方向

答案 2 :(得分:0)

您可以直接在.each()循环中检查索引,并在6次后打破循环,如:

$(data.items).each(function(index) {
if(index>5)
 return false;
else{
      var post =  '<a href="my-url/' + this.fullUrl + '"><h2>'     + this.title + '</h2></a><img src= "'+this.assetUrl+'" alt ="'+this.filename+'"><a href="my-url/' + this.fullUrl + '">Read More</a>' ;
      $('#blog').append(post);
      return true;
    }
    });

这将在6次迭代后中断循环!