Instafeed通过输入更改标记值

时间:2015-03-16 16:41:34

标签: javascript instafeedjs

我尝试通过输入更改我的标记名称,一旦按下输入键,它将由feed.run();重新运行

var num = 60;
var inputTextValue;




window.onkeyup = keyup;
    function keyup(e) {
      inputTextValue = e.target.value;
      $('#searchValue').text(inputTextValue);

      if (e.keyCode == 13) {
          inputTextValue = e.target.value;
          feed.run();

      }
    }

    var feed = new Instafeed({
   get: 'tagged',
   tagName: inputTextValue,
    userId: 3614616,
    accessToken: '3614616.467ede5.abc0b5a861d34365a5c8dd8db0163c4b',
    limit:"100",
    resolution : "low_resolution",
    after: function () {
    var images = $("#instafeed").find('a');
    $.each(images, function(index, image) {
      var delay = (index * 75) + 'ms';
      $(image).css('-webkit-animation-delay', delay);
      $(image).css('-moz-animation-delay', delay);
      $(image).css('-ms-animation-delay', delay);
      $(image).css('-o-animation-delay', delay);
      $(image).css('animation-delay', delay);
      $(image).addClass('animated flipInX');
    });
  },
  template: '<a href="{{link}}" target="_blank"><img src="{{image}}" /><div class="likes">&hearts; {{likes}}</div></a>'
});

并且我将收到错误

No tag name specified. Use the 'tagName' option.

任何想法都可以更新标记的名称值? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您遇到的问题的根源是如何将变量传递给JavaScript中的函数。

字符串是“按值传递”,在您的情况下,这意味着inputTextValue的值在您创建实例时通过执行{{复制到Instafeed.js 1}}。

这也意味着,当您稍后更改new Instafeed({ .. });的值时,将不会更新Instafeed.js设置(因为它是复制时你设置了Instafeed.js)。

要解决此问题,您需要通过更改inputTextValue变量的属性来直接更新Instafeed.js设置。这是原始脚本的略微修改版本:

feed