如何创建用户友好的时间戳?

时间:2017-11-14 18:21:59

标签: javascript jquery timestamp momentjs

我目前正在研究jQuery。我现在正在构建的是“twittler”,它使用jQuery和moment.js库。

我编写了以下代码,但创建twit的时间总是“几秒钟前”。有什么问题?

<script>
    $(document).ready(() => {
      let index = 0, lastIndex = streams.home.length;
      let showTweet = () => {
        for (; index < lastIndex; index++) {
          let tweet = streams.home[index];
          let $tweet = $(
            `<div class="w3-card-4 w3-section">` +
            `<footer class="w3-container w3-opacity w3-right-align">` +
            `<h6 class="time" id="${tweet.created_at.getTime()}"></h6>` +
            `</footer>` +
            `</div>`
          );
          $tweet.prependTo($(".main-contents"));
        }
      };
      let lastIndexUpdate = () => {
        lastIndex = streams.home.length;
      };
      let timeUpdate = () => {
        $("h6.time").text(moment($("h6.time").attr("id"), "x").fromNow());
      };
      showTweet();
      setInterval(showTweet, 1000);
      setInterval(lastIndexUpdate, 1000);
      setInterval(timeUpdate, 1000);
    });
  </script>

1 个答案:

答案 0 :(得分:1)

$("h6.time").attr("id")将始终获得第一个匹配选择器的值。

您需要特定于实例的值

您可以使用text(function)来揭示回调中的每个实例

$("h6.time").text(function(){
    return moment(this.id, "x").fromNow();
});