Javascript 通过传递PHP变量创建计时器

Javascript 通过传递PHP变量创建计时器,javascript,php,timer,Javascript,Php,Timer,我发现/修改了一个倒计时到特定时间的计时器 到目前为止,守则是: <!DOCTYPE html> <html> <head> <script type="text/javascript"> function counter() { var t = "2013-12-01 13:00:00".split(/[- :]/); var gametime = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);

我发现/修改了一个倒计时到特定时间的计时器

到目前为止,守则是:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

function counter() {
var t = "2013-12-01 13:00:00".split(/[- :]/);
var gametime = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
var now = new Date();
var timeDiff = gametime.getTime() - now.getTime();
var timer = setTimeout('counter()');
if (timeDiff <= 0) {
        clearTimeout(timer);
    }
var seconds = Math.floor(timeDiff / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
hours %= 24;
    minutes %= 60;
    seconds %= 60;
document.getElementById("days").innerHTML = days;
document.getElementById("hours").innerHTML = hours;
document.getElementById("mins").innerHTML = minutes;
document.getElementById("sec").innerHTML = seconds;
}
</script>
</head>
<body>
Time remaining: <label id=days></label>:<label id=hours></label>:<label id=mins></label>:<label id=sec></label>
<script type="text/javascript">counter();</script>
</body>
</html>

函数计数器(){
var t=“2013-12-01 13:00:00”。拆分(/[-:]/);
var gametime=新日期(t[0],t[1]-1,t[2],t[3],t[4],t[5]);
var now=新日期();
var timeDiff=gametime.getTime()-now.getTime();
var timer=setTimeout('counter()');
if(timeDiff)
计数器();

但这只是删除计时器。我猜数据可能没有传递?有人想让我通过吗?

使用它后,您正在定义
$variable
。移动

<?php $variable = "2013-12-01 13:00:00";?>

以前

var variable = <? echo (json_encode($variable)) ?>;
var变量=;

json\u encode将把它变成一个json对象。查看源代码为“.”的值显示了什么。
json\u encode()
是正确的处理方法,因为
$variable
是一个字符串,输出将是一个格式正确的JavaScript字符串。呵呵,是的,这可能是一个好主意,让我先试试。我还发现在Json_编码之前,我的标记中缺少一个php,但现在可以工作了,这样我就可以继续了。谢谢!@user3053375,只要short标记已启用,
中的
php
在本例中未启用。该脚本中的php在某种程度上是计时器自身显示的差异,或者只是一个空白页。@user305375,那么短标记可能未启用。使用

var variable = <? echo (json_encode($variable)) ?>;