使用filter限制 - instafeed.js

时间:2014-11-02 15:52:10

标签: javascript jquery instafeedjs

我正在使用instafeed.js的强大工具与instagram的api进行互动。我目前正在尝试将结果过滤为image.type === 'video'。我已经能够实现这一目标。唯一的问题是它永远不会满足limit:10集。不知何故,它可能会拉动所有类型(imagevideo),然后应用过滤器。在为视频应用过滤器时是否可以达到限制10

var feed = new Instafeed({
  limit: '10',
  sortBy: 'most-liked',
  resolution: 'standard_resolution',
  clientId: 'xxxxx', 
  template:'<div class="tile"><div class="text"><b>{{likes}} &hearts; </b>{{model.user.full_name}}</div><img class="item" src="{{image}}"></div>',
  filter: function(image) {
    return image.type === 'video';
  }
});

1 个答案:

答案 0 :(得分:1)

你是对的,filter总是在 limit选项之后应用。

要解决这个问题,请尝试将limit设置为更高的数字,然后在事后删除额外的图片:

var feed = new Instafeed({
  limit: 30,
  sortBy: 'most-liked',
  resolution: 'standard_resolution',
  clientId: 'xxxxx', 
  template:'<div class="tile"><div class="text"><b>{{likes}} &hearts; </b>{{model.user.full_name}}</div><img class="item" src="{{image}}"></div>',
  filter: function(image) {
    return image.type === 'video';
  },
  after: function () {
    var images = $("#instafeed").find('div');
    if (images.length > 10) {
      $(images.slice(10, images.length)).remove();
    }
  }
});

您还可以在Github上查看this thread以获取更多详细信息。