2013-10-28 41 views
0

我正在使用timeago plugin,我需要自動更新以便在頁面傳遞新時間時將其更新爲實時更新timeago

這裏是默認的JQuery我們要求把我們的網頁:

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

我現在的問題是,當我通過新的時間從使用Ajax的PHP文件,它不會使用timeago插件(它保留爲日期,2013-10-28,而不是1 second ago等)。

這裏是阿賈克斯我現在所擁有的:

<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.php文件阿賈克斯稱爲:

<?php 

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

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

    echo $array; 

?> 

當AJAX調用函數時,它返回$code HTML,但它打印出July 17, 2008,而不是5 years ago

回答

1

您需要在您的課程中指定一些加載時間(可能爲loadedmodified)或元素的title屬性中的日期/時間。檢查你的HTML

例如,這樣的:

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

將成爲這樣的:

<abbr class="timeago" title="2008-07-17T09:24:17Z">about 5 years ago</abbr> 
+0

我現在的問題是,當我使用Ajax傳遞一個新的時間從一個PHP文件,它贏得不使用timeago插件(它保留日期,「2013-10-28」,而不是「1秒前」等)。 – Burrows

+0

如果您在DOM準備好時應用'timeago'插件,那麼它將被附加到當時存在的所有元素。如果通過AJAX調用將新元素加載到DOM中,'timeago'將不適用於它們,除非您專門應用它。 – 2013-10-28 23:53:56

+0

我將如何專門應用它?我在我的帖子中添加了部分代碼。 – Burrows