4

011-04-29T14:55:33.000Zこの値がjQueryテンプレートにプッシュされる値があります。timeagoを使用して日付を経過時間に変換しましたが、テンプレートに書き込まれた後、時間が経過しても更新する方法がありません。

自動的に更新されるものをどのように実装しますか?

4

2 に答える 2

6

これから始めると仮定します(timeagoホームページから):

<abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr>

これで、timeagoプラグインは、内容を書き換えるときにタイトルを変更します。あなたがする必要があるのは、他の場所でタイムスタンプを追跡し、それをtitle属性に戻し、プラグインを再実行することです。このようなもの:

<abbr
    class="timeago"
    title="2008-07-17T09:24:17Z"
    data-ts="2008-07-17T09:24:17Z"
>July 17, 2008</abbr>

これになります:

<abbr
    class="timeago"
    title="July 17, 2008"
    data-ts="2008-07-17T09:24:17Z"
>2 years ago</abbr>

そして、それを更新したいときは、プラグインをdata-ts元に戻して再実行するだけです。title

$('.timeago').each(function() {
    var $this = $(this);
    $this.attr('title', $this.data('ts'));
}).timeago();

$this.attr('data-ts')古いjQueryを使用している場合は、の代わりにを使用する必要がある場合があります$this.data('ts')

于 2011-04-30T05:33:05.457 に答える
1

私は運がない上記を試してみました.そして、私はこれを見つけました. 役立つかもしれません。

https://mattbradley.github.io/livestampjs/

ここ<span data-livestamp="your time goes here..."></span>で十分です。

jquery.jsmoment.js前に追加することを忘れないでくださいlivestamp.js

于 2016-01-24T06:41:25.443 に答える