Pergunta

Eu tenho um valor 011-04-29T14:55:33.000Z; esse valor é inserido em um modelo jQuery.Usei timeago para converter a data em tempo decorrido, mas depois de ser gravado no modelo, não há como atualizar comomais tempo passa.

Como eu implementaria algo que seria atualizado automaticamente?

Foi útil?

Solução

Suponha que você comece com isto (da página inicial timeago ):

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

Agora, o plugin timeago mudará o título conforme reescreve as coisas.Tudo o que você precisa fazer é controlar o registro de data e hora em outro lugar, colocá-lo de volta no atributo title e executar o plug-in novamente.Algo assim:

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

Vai se tornar isso:

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

E quando quiser atualizá-lo, basta colocar data-ts de volta em title e executar o plug-in novamente:

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

Se você estiver usando um jQuery mais antigo, pode ser necessário usar $this.attr('data-ts') no lugar de $this.data('ts').

Outras dicas

Tentei o que precede sem sorte.e encontrei isto.pode ser útil.

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

Aqui, <span data-livestamp="your time goes here..."></span> é suficiente.

Não se esqueça de adicionar jquery.js e moment.js antes de livestamp.js

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top