Javascript倒计时 - 由服务器控制

时间:2013-10-30 19:03:30

标签: javascript php jquery timer

我的脚本有一个倒数计时器,但必须由服务器控制,因为时间可以随时改变。

通常从1小时开始倒计时,但是当它接近0时,用户从PHP触发事件将重置MySQL数据库上的时间,计时器将回击到任何时间。

    setInterval(function() {
        $('#timer').load('api/getdata.php?clock=1');
    }, 600); 

正如您所看到的,目前倒计时是由PHP脚本返回的,每600ms调用一次(1000ms有时会跳过一秒)。

我需要一个简单的文本倒计时(分钟和秒),它与PHP脚本同步。但是,由于它不到30秒,需要每秒同步。

这可以用JS吗?

这是PHP的代码

$from = time();
$to = strtotime($row['clock']);

$Timer = date('i:s', $to - $from);
echo("$Timer");

1 个答案:

答案 0 :(得分:1)

我认为解决这个问题的最简单方法(如果我错了,请纠正我!);

  • 从服务器获取时间
  • 返回[json]
    • [server_time]
    • [seconds_left]
    • [miliseconds_left]

在函数上设置这些值,并确保按照您的合约要求调用它。一旦这开始击中< 60秒通过除法缩短间隔(例如秒数,尽管这可能不是最佳的:-))。

60/60   = 1
50 / 60 = .73
30 / 60 = .5
etc...

如果毫秒真的非常重要,我担心你必须提供一些更深入的了解你实际想要完成的事情?