【问题标题】:Retrieving information from next item in JSON (Twitter API)从 JSON 中的下一项检索信息(Twitter API)
【发布时间】:2011-04-24 11:56:54
【问题描述】:

我正在尝试构建一个显示用户推文的页面,但是在每条推文之间,我想可视化代表用户在该时间段内可能输入的内容的空间。

我一直在绕着我想要达到的目标的逻辑转来转去,却一无所获。我当前的代码在这里:http://jsfiddle.net/k5234/,但这不包括我试图实现的循环,代码将 item'created_at 字段(当前推文的日期/时间)从 next 中取出 item.created_at 字段。

如果有人能指出我如何让​​我的代码正常工作的正确方向,我将不胜感激。我的工作基于 3x s == 1 秒。

澄清一下,如果用户在下午 1.05 点发推文,然后在下午 1.07 点再次发推文,则会有 120 秒的空白空间,即。 120 秒 * 3 个字符 = 2 条推文之间有 360 个空格。希望这一切都有意义。

谢谢, 大卫

添加信息:想象有人不断发推文。该页面将充满文本。然而实际上,有人只是经常发推文。推文之后的空间(直到他们的下一条)的大小将代表他们当时可以输入的内容。例如。我输入一条推文,10 分钟内不再发推文。在我的页面上显示的是最后一条推文,但上一条推文之后会出现 1800 个空格(10 分钟 * 60 秒 * 每秒 3 个字符 = 1800 个空格)。我可以检索到需要时推文的日期,但我遇到的问题是获取下一条推文的时间以确定以这种方式呈现信息的阶段的差距。我真的无法比这更清楚地说明这个概念了。

【问题讨论】:

  • 我认为你真的需要设计一个图形(想想纸巾演示)来展示它是如何工作的以及你想要实现的目标。向我们推销这个问题,以便我们帮助您解决它,不要只是说“哇,它不起作用”...查看tinyurl.com/so-hints 以获得一些关于如何“真正”提出问题的非常好的想法
  • 我以为我问的问题很清楚。我正在寻找有人提出合乎逻辑的步骤来帮助我实现目标,这从我的问题中显而易见,对吗?
  • 没那么多,不。您想根据两个时间戳之间的差异每秒插入三个 ?我有点失去了你希望达到的目标。是否要在最后从页面中删除内容?

标签: javascript jquery json twitter


【解决方案1】:

我认为你的问题很清楚。

看看这个解决方案是否有效:-

       function getTweets() {
            html += "<pre>";
            $.each(data, function(i, item) {
                html += item.text; // add tweet
                var timeCreated = new Date(item.created_at); // date of tweet
                if( (i+1) in data)
                {
                var timeTillNextTweet = new Date( data[ i+1 ].created_at);

                var timeDiff = timeTillNextTweet.getTime() - timeCreated.getTime();
                var secondsDifference = Math.floor(timeDiff/1000);

                // use secondsDifference to generate the spaces..
                }
            });
            html += "</pre>";
        }

希望这会有所帮助。

【讨论】:

  • 非常感谢您的帮助 :) 不幸的是,这条线不起作用,即使添加了 ')' : var timeTillNextTweet = new Date( data[ i+1 ].created_at;
  • 抱歉延迟回复,但您编辑的代码很有效 :) 谢谢!
【解决方案2】:

也许是这样的:

var current;
var previous;
$.each(data, function(i, item) {
  previous = current;
  current = Date.parse(item.created_at);
  html += "Tweet " + i +" " + (previous - current)/3000 + " spaces\n"
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2015-05-05
    • 2021-09-07
    • 2017-05-23
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多