繁体   English   中英

PHP / Javascript倒数计时器脚本

[英]PHP/ Javascript Countdown Timer Script

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

我已经在互联网上进行搜索并尝试了许多脚本,但只发现了倒数到未来某个特定日期的脚本。
然后找到了Followin解决方案,但是我遇到了错误“ Uncaught SyntaxError:Unexpected token <

如何解决此错误,或者还有其他脚本/方式吗?
如果有人帮助我,我将非常感激,谢谢。
PS:很抱歉,如果我有任何错误,因为这是我关于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"; ?> ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM