posted by , 这只是一个例子!所以 timeAgo() 函数将 un-6ren">
gpt4 book ai didi

php - 如何使帖子日期同步

转载 作者:行者123 更新时间:2023-11-30 13:23:36 25 4
gpt4 key购买 nike

假设我在一个页面上有 15 个或更多的帖子。 while 循环中的代码如下所示

 <div class="post" id="<?php echo $postID?>">

<h1><?php echo $title;?></h1>

<div class="postmeta">
posted by <?php echo $author;?> , <?php echo timeAgo($postDate);?></div>
</div>

这只是一个例子!所以 timeAgo() 函数将 unix 时间戳 1329569847 转换为 11 分钟前的人类时间。以及如何使它与 ajax 实时同步我的意思是 5 分钟后更改为 16 分钟前,4 分钟后更改为 20 分钟前并影响所有帖子。


因此,感谢 chenioTheShellfishMeme(啤酒),我设法让它发挥作用。

这就是神奇的代码

<span class="timestamp" id="5" postdate="1329576793"></span><br/>

<span class="timestamp" id="8" postdate="1329576795"></span><br/>


<script>

updateTimestamps();
setInterval(updateTimestamps, 60000);

function updateTimestamps(){
$(".timestamp").each(function(i){

var timestamp = $(this).attr("postdate");
var postID = $(this).attr("id");

$.ajax({
type: "POST",
url: "myURL",
data: "postID="+ postID +'&timestamp=' + timestamp,
cache: false,
success: function(html){

$(".timestamp#"+postID).html(html);

}
});




});
}
</script>

最佳答案

我会像这里一样使用数据属性 http://jsfiddle.net/rXFnn/将 unix 时间戳添加到 div 内的跨度,该跨度旨在包含“time ago”字符串。然后将 timeAgo 逻辑移植到 javascript 并使用 setInterval 每分钟更新一次。

不需要为这么简单的事情做 AJAX,但请注意下面的例子使用了 jQuery .

为了完整起见,这里再次给出代码:

<div class="postmeta"> 
posted by Foo , <span class="timestamp" data-timestamp="1329573254200"></span> ago
</div>​

<script>
updateTimestamps();
setInterval(updateTimestamps, 60000);

function updateTimestamps(){
$(".timestamp").each(function(i){
var timestamp = $(this).data('timestamp');

// Put your time ago logic here
var timeAgo = timestamp;
$(this).text(timeAgo);
});
}
</script>

关于php - 如何使帖子日期同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9341519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com