Javascript 从JSON(Twitter API)中的下一项检索信息
我正试图构建一个显示用户tweet的页面,但是在每条tweet之间,我希望可视化表示用户在该时间段内可能键入的内容的空间 我一直在用我试图达到的目标却一事无成的逻辑周而复始。我当前的代码在这里:,但这不包括我试图实现的循环,其中代码将项目“created_at”字段(当前tweet的日期/时间)从下一个项目“created_at”字段中移除 如果有人能为我指明正确的方向,告诉我如何让代码正常工作,我将非常感激。我工作的基础是3xJavascript 从JSON(Twitter API)中的下一项检索信息,javascript,jquery,json,twitter,Javascript,Jquery,Json,Twitter,我正试图构建一个显示用户tweet的页面,但是在每条tweet之间,我希望可视化表示用户在该时间段内可能键入的内容的空间 我一直在用我试图达到的目标却一事无成的逻辑周而复始。我当前的代码在这里:,但这不包括我试图实现的循环,其中代码将项目“created_at”字段(当前tweet的日期/时间)从下一个项目“created_at”字段中移除 如果有人能为我指明正确的方向,告诉我如何让代码正常工作,我将非常感激。我工作的基础是3xs==1秒 为了澄清,如果用户在下午1点05分发推文,然后又在下午1
s==1秒
为了澄清,如果用户在下午1点05分发推文,然后又在下午1点07分发推文,那么两条推文之间将有120秒的空白,即120秒*3个字符=360个空格。希望一切都有意义
谢谢,
大卫
新增信息:想象有人在不停地推特。这一页将充满文本。然而在现实中,有人只是偶尔发推特。tweet之后(直到下一条)的空间大小将代表他们当时可能键入的内容。我键入一条推文,10分钟内不再推文。我的页面上显示的将是最后一条推文,但之前的推文将显示1800个空格(10分钟*60秒*每秒3个字符=1800个空格)。我能检索到的是需要时推文的日期,但我遇到的问题是获取下一条推文的时间,以确定以这种方式呈现信息阶段的差距。我不能再清楚地说明这个概念了。也许是这样的:
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"
});
我认为你的问题很清楚 查看此解决方案是否有效:-
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>";
}
函数getTweets(){
html+=“”;
$。每个(数据、功能(i、项){
html+=item.text;//添加tweet
var timeCreated=新日期(item.created_at);//tweet的日期
如果((i+1)在数据中)
{
var timeTillNextTweet=新日期(数据[i+1]。创建时间为);
var timeDiff=timetillnextweet.getTime()-timeCreated.getTime();
var secondsDifference=数学下限(时间差/1000);
//使用secondsDifference生成空格。。
}
});
html+=“”;
}
希望这能有所帮助。我认为你真的需要设计一个图形(比如餐巾纸演示),展示这是如何工作的,以及你想要实现的目标。向我们推销这个问题,这样我们就可以帮助你解决它,不要只是说“哇,它不起作用”。。。我想我的问题问得很清楚。我想找人提出逻辑步骤来帮助我实现目标,这在我的问题中是显而易见的,对吗?不,不。你想根据两个时间戳之间的差异,每秒插入三个
?我有点失去了你希望实现的目标。是否要在结尾处删除页面中的内容?非常感谢您的帮助:)不幸的是,即使添加了“)”:var timeTillNextTweet=new Date(data[i+1]。已创建于;很抱歉延迟响应,但您编辑的代码仍然有效:)谢谢!