我有一个复选框,可让用户选择一个或多个Twitter时间轴来显示。现在,时间线会成批出现(即,第一个时间线中的所有推文,然后是第二个时间线中的所有推文,依此类推)。我想在输出之前将所有收集到的推文整理到一个年表中。
这是一个JS小提琴:http://jsfiddle.net/brianeoneill/z9cuP/2/
$('input[type=submit]').on('click', function(e){
// prevent default behavior of the submit button
e.preventDefault();
// empty the div with ID of tweets
$('#tweets').empty();
// perform a function on all of the checked boxes
$(':checkbox:checked').each( function(){
var twitterID = $(this).attr('data');
// use the "data" attribute to build the query string for getJSON
$.getJSON( 'http://api.twitter.com/1/statuses/user_timeline/'+twitterID+'.json?callback=?', null, function(data){
// create an empty ul
var tweetList = $('<ul id="tweets-list">');
// for each JSON object returned, parse it into an li
$.each(data, function(i, tweet){
var item = $('<li class="'+i+'">');
var name = $('<h2>').text(tweet.user.name);
var date = $('<small>').text(tweet.created_at);
var img = $('<img>').attr('src', tweet.user.profile_image_url);
var msg = $('<p>').text(tweet.text);
item.append(img,name,date,msg);
// add the li to the empty tweetList ul
tweetList.append(item);
}); // end of JSON parse function
// SORT BEFORE SENDING TO DOM
$('#tweets').append(tweetList);
我尝试过创建一个li数组,然后按Twitter时间戳对其进行排序,但最终总是会得到一个空数组。很明显,我缺少了一些东西。
提前致谢!
最佳答案
提示:所有Tweet ID均按时间顺序升序生成。推文来自谁的时间线都没有关系,甚至可以是混合的时间线,如果您通过推文的ID来订购推文,您将获得正确的时间顺序。
关于javascript - 如何在输出到屏幕之前按时间顺序对多个Twitter时间轴进行排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14648843/