我正在设计一个网站,里面有一个小游戏。每个参与的用户有 99 分钟的时间来完成它,否则我们会显示游戏结束状态。到目前为止,这是我使用 jQuery post 所做的。
我已经能够显示计时器。在 PHP 中,我已将目标时间设置为99*60
秒,但我无法将开始时间设置为 0,因为我将在这些值与倒计时值之间做出差异。
此外,由于每个用户都可以退出页面,因此我希望能够存储他们离开的时间。我所能做的就是在他们注销时将倒计时值(比如 5845)存储在数据库中。尽管我尝试在每次调用 jQuery 帖子时更新表格,但这只会让情况变得更糟。
这是我的 jQuery:
function countdown() {
var i = (new Date().getTime() / 1000) + (99 * 60);
setTimeout(function () {
$.post(\'countdown.php\',{target:i},function(data){
$('#countdown').html(data);
});
countdown();
},1000);
}
countdown();
这是PHP:
if (!empty($resm['Countdown']) || $resm['Countdown'] >= 0) {
$target = (99 * 60);
$countdown = ($target - $current);
$_SESSION['currenttime'] = $countdown;
$hours = floor($countdown / 3600);
$min = floor($countdown / 60);
$r_min = floor(($countdown - ($hours * 3600)) / 60);
$sec = floor($countdown - ($min * 60));
if ($min == 0) {
echo $target.' '.$current.' '.$countdown;
echo '<br/>'.$min.' minutes '.$sec.' seconds left';
} else {
echo 'Time Over';
$sql = "UPDATE bs10000099 SET Upgradedlevel='2',Activated='2',Countdown='5940' WHERE MemberID='$memberid'";
mysql_query($sql);
}
}
我不知道如何设置开始时间或如何防止countdown()
在刷新页面上重新启动。