在每组聊天的顶部添加日期,例如在什么应用程序中

时间:2014-02-06 00:04:49

标签: javascript jquery chat firebase

我正在尝试在聊天应用中的特定日期发送和接收的消息之上添加日期。例如:

-----Yesterday-----

mike: Hello

Jan: Hi

-----Today----

Eunice: Help! I've been trying to do this all day

Fid: Me too. Lets ask for help.

我已经编写了JS来计算日期并尝试附加到每天发送的消息的顶部。 这就是我所做的:

  • 将当天的星期几添加为当天发送的邮件的类名
  • 使用jQuery选择带有classname(星期几)的第一个元素。  Firbase就是炸弹  是肯定的  我现在还在学习
  • 将html标记(例如Today)附加到第一个div

这是我的JS

last10Comments.on('child_added', function (snapshot) {
var comment = snapshot.val();
var newDiv = $("<div/>").addClass("comment ").attr("id",snapshot.name()).appendTo("#comments");
  FB.api("/" + comment.userid, function(userdata) {
    comment.name = userdata.name;
    newDiv.html(Mustache.to_html($('#template').html(), comment));
  });
var outputTime = $("<span/>").addClass("timespan "+ te.getDayName() +"").attr("id",yiu).appendTo("#comments").text(Timeformat());

var tim = $('.'+ te.getDayName() +'')[0];
$('#'+tim+'').prepend( "<p>Test</p>" );
})

这个JS实际上得到了第一个元素。但是探测器是,它基于具有相同类的元素的数量来添加文本。即如果5个div包含相同的类名,则它会预先设置5次。例如Wednesday Wednesday Wednesday Wednesday Wednesday

1 个答案:

答案 0 :(得分:1)

我无法尝试,所以我只是在这里猜测,试试这个:

last10Comments.on('child_added', function (snapshot) {
  (function (te) {
    var comment = snapshot.val();
    var newDiv = $("<div/>").addClass("comment ").attr("id", snapshot.name()).appendTo("#comments");
    FB.api("/" + comment.userid, function (userdata) {
      comment.name = userdata.name;
      newDiv.html(Mustache.to_html($('#template').html(), comment));
    });
    var outputTime = $("<span/>").addClass("timespan " + te.getDayName() + "").attr("id", yiu).appendTo("#comments").text(Timeformat());

    var tim = $('.' + te.getDayName() + '')[0];
    $('#' + tim + '').prepend("<p>Test</p>");
  })(te);
})

如果有效,请告诉我。如果它解决了你的问题,那么我将在评论中解释。