1

アカウントから最新の 3 つの Twitter 投稿を取得するブロガー スクリプトがあり、投稿の下部に画像分割線を追加するように微調整していますが、最後の投稿の下部に分割線を表示したくありません。最初の 2 つをカウントし、3 番目の画像を除外する (または画像なしで行を書き直す) ために使用する構文にこだわっています。

コードブロックは次のとおりです。

function twitterCallback2(twitters) 
{
    var statusHTML = [];
    for (var i=0; i<twitters.length; i++)
    {
        var username = twitters[i].user.screen_name;
        var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) 
        {
            return '<a href="'+url+'" target="_blank">'+url+'</a>';
        }).replace(/\B@([_a-z0-9]+)/ig, function(reply) 
        {
            return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
        });

        statusHTML.push('<li><span>'+status+'</span> <a class="date" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank"><br /><p style="text-align:left; margin-top:4px;"><img src="../images/news/twitter-bird.png" style="margin:3px 2px 0 0;">'+relative_time(twitters[i].created_at)+'</a></p><img src="../images/news/twitter-divider.png" style="margin-top:4px;"></li>');
    }
    document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}

どんな助けでも大歓迎です。

4

1 に答える 1

2

テストされていませんが、これは機能するはずです:

function twitterCallback2(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'" target="_blank">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    var htmlToPush = '<li><span>'+status+'</span> <a class="date" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank"><br /><p style="text-align:left; margin-top:4px;"><img src="../images/news/twitter-bird.png" style="margin:3px 2px 0 0;">'+relative_time(twitters[i].created_at)+'</a></p>';
    if (i<twitters.length-1)
        htmlToPush += '<img src="../images/news/twitter-divider.png" style="margin-top:4px;">';
    htmlToPush += '</li>';
    statusHTML.push(htmlToPush);
  }
  document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}
于 2013-04-22T22:59:10.093 に答える