Frage

Ich habe einen Wert 011-04-29T14:55:33.000Z. Dieser Wert wird in eine jQuery-Vorlage übertragen.Ich habe timeago verwendet, um das Datum in die verstrichene Zeit umzuwandeln, aber nach dem Schreiben in die Vorlage kann es nicht aktualisiert werdenmehr Zeit vergeht.

Wie würde ich etwas implementieren, das automatisch aktualisiert wird?

War es hilfreich?

Lösung

Angenommen, Sie beginnen damit (von der timeago -Homepage :

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

Jetzt ändert das timeago-Plugin den Titel, während es Dinge neu schreibt.Alles, was Sie tun müssen, ist, den Zeitstempel an anderer Stelle zu verfolgen, ihn wieder in das Attribut title einzufügen und das Plugin erneut auszuführen.So etwas wie das:

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

Wird dies:

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

Und wenn Sie es aktualisieren möchten, setzen Sie einfach data-ts wieder in title und führen Sie das Plugin erneut aus:

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

Wenn Sie eine ältere jQuery verwenden, müssen Sie möglicherweise $this.attr('data-ts') anstelle von $this.data('ts') verwenden.

Andere Tipps

Ich habe das oben genannte ohne Glück versucht. Und ich habe es gefunden.könnte hilfreich sein.

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

Hier reicht <span data-livestamp="your time goes here..."></span> aus.

Vergessen Sie nicht, vor dem jquery.js moment.js und livestamp.js hinzuzufügen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top