0

我从数据库中提取日期。Time Ago 工作正常,但不是更新时间

<abbr class="timer timeago modified"><?php echo date('Y-m-d H:i:s', strtotime($row['project_create_date'])); ?></abbr>

jQuery

$(function() {    
    /*Time Ago*/

    prepareDynamicDates();
    var time = '';
    $('.timer').each(function(){
        var time = $(this).text();
        $(this).text(jQuery.timeago(time));
   });

});
4

1 回答 1

1

首先,您需要使用一个data参数来存储参考日期。Usingtext将在第一次实例化时被覆盖。

<abbr class="timer timeago modified" data-create-date="2012-11-05 14:50:11"></abbr>

然后您可以setInterval根据需要使用更新文本:

var time = '';
$('.timer').each(function() {
    var $el = $(this);
    setInterval(function() {
        var time = $el.data("create-date");
        $el.text(jQuery.timeago(time));
    }, 1000); // 1000ms = 1 second
});

示例小提琴

请注意,此更新每秒更新一次,这可能会导致某些浏览器的性能不佳。我认为每 30 秒到 1 分钟刷新一次就足以满足您的需要。

于 2012-11-05T14:55:10.957 回答