PHP/Javascript倒计时计时器脚本



我有IRC频道的统计网页,每15分钟更新一次
我想在链接到我的服务器unix时间的网页上显示实时倒计时,从15:00分钟一直到00:00,然后在15:00分钟再次开始
如果刷新网页,则计时器不得刷新回15:00。

我在网上搜索过;尝试了这么多脚本,但只找到了计数到未来某个特定日期的倒计时
然后找到了以下解决方案,但我收到错误">未捕获的语法错误:意外的令牌<">

我该如何修复此错误,或者是否有其他脚本/方法
如果有人帮我,我将不胜感激,谢谢
P.S:如果我犯了任何错误,我很抱歉,因为这是我在stackoverflow上的第一篇帖子。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
#time {
}
</style>
<? 
$currenttime = time(); 
$mins = date('i', (15 * 60) - ($currenttime % (15 * 60))); 
$secs = date('s', (15 * 60) - ($currenttime % (15 * 60)));
$usercount = date('i:s', (15 * 60) - ($currenttime % (15 * 60)));
?>
<script type="text/javascript">
var m = <? echo "$mins"; ?> ;
var s = <? echo "$secs"; ?> ;
window.onload=function() {
fifteenMinutes();
}
function fifteenMinutes(){
s--;
if(s<0) {
s=59;
m--;
}
if(m==-1) {
m=14; #
}
if(m<10) {
mins='0'+m;
}
else {
mins=m;
}
if(s<10) {
secs='0'+s;
}
else {
secs=s;
}
document.getElementById('time').firstChild.nodeValue=mins+':'+secs;
cd=setTimeout('fifteenMinutes()',1000);
}
</script>
</head>
<body>
<div id="time"> <? echo "$usercount"; ?>
</body>
</html>

这里有一个从15分钟开始的简单倒计时。

function tick(time) {
setTimeout(() => {
const newTime = new Date();
const diff = Math.floor((newTime.getTime() - time.getTime()) / 1000);
const timeFrom15 = (15 * 60) - diff; 
const secs = timeFrom15 % 60;
const mins = ((timeFrom15 - secs) / 60);
document.getElementById('time').innerText = `${mins}:${secs < 10 ? '0' : ''}${secs}`;
if (secs >= 0) {
tick(time);
} else {
document.getElementById('time').innerText = '0:00';
}
}, 1000);
}
tick(new Date());
<div id="time"></div>

这不是有效的javascript,这就是为什么您会得到语法错误:

var m = <? echo "$mins"; ?> ;
var s = <? echo "$secs"; ?> ;

这也不是(移除#(:

m=14; #

相反,使用<?php,如下所示:

var m = <?php echo "$mins"; ?> ;
var s = <?php echo "$secs"; ?> ;

最新更新