0

我正在使用timeago 插件,我需要让它自动更新,这样如果新的时间被传递到页面,它会更新它们

这是我们被要求放在页面上的默认 JQuery:

jQuery(document).ready(function() {
    jQuery("abbr.timeago").timeago();
});

我当前的问题是,当我使用 Ajax 从 PHP 文件传递​​新时间时,它不会使用 timeago 插件(它保留为日期2013-10-28,而不是1 second ago等)。

这是我现在拥有的 Ajax:

<script src="assets/js/jquery.js"></script>
<script src="assets/js/timeago.js"></script>
<script type="text/javascript">

$(document).ready(function() {
    $(document).on("submit", "form", function(event) {
        event.preventDefault();
        $.ajax({
            url: 'post.php',
            type: 'POST',
            dataType: 'json',
            data: $(this).serialize(),
            success: function(data) {
                $(".container").html(data.message);
            }
        });
    });
});

$(document).ready(function() {
    $("abbr.timeago").timeago();
});

</script>

post.phpAjax 调用的文件:

<?php

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

    $array = array('message' => $code);

    echo $array;

?>

调用 Ajax 函数时,它会返回$codeHTML,但会July 17, 2008在页面上打印出来,而不是5 years ago.

4

1 回答 1

1

You need to specify some load time either in your class (loaded or modified, perhaps), or a date/time in the title attribute of the element. Check your HTML

For example, this:

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

will become this:

<abbr class="timeago" title="2008-07-17T09:24:17Z">about 5 years ago</abbr>
于 2013-10-28T23:46:20.217 回答