Question

J'ai une valeur 011-04-29T14:55:33.000Z cette valeur devient poussée dans un modèle jQuery. Je timeago pour convertir la date à temps écoulé, mais après avoir été écrit au modèle, il n'a aucun moyen de mise à jour comme plus le temps passe.

Comment puis-je mettre en œuvre quelque chose qui mettrait automatiquement à jour?

Était-ce utile?

La solution

Supposons que vous commencez avec ce (à partir de la page d'accueil timeago ):

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

Maintenant, le plugin timeago va changer le titre comme les choses réécritures. Tout ce que vous devez faire est de garder trace de l'horodatage ailleurs, la remettre dans l'attribut title et exécutez à nouveau le plug-in. Quelque chose comme ceci:

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

Deviendra ceci:

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

Et si vous voulez le mettre à jour, il suffit de mettre arrière data-ts dans title et exécutez à nouveau le plug-in:

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

Si vous utilisez un jQuery plus, vous pourriez avoir besoin d'utiliser $this.attr('data-ts') en place de $this.data('ts').

Autres conseils

J'ai essayé ci-dessus sans luck.and i trouvé ça. pourrait être utile.

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

Ici <span data-livestamp="your time goes here..."></span> suffit.

Ne pas oublier d'ajouter jquery.js et moment.js avant livestamp.js

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top