0

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

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

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

如您所见,当前倒计时由 PHP 脚本返回,该脚本每 600 毫秒调用一次(1000 毫秒有时似乎跳过一秒)。

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

JS可以做到这一点吗?

这是PHP的代码

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

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

1 回答 1

1

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

  • 从服务器获取时间
  • 返回 [json]
    • [服务器时间]
    • [seconds_left]
    • [毫秒_左]

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

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

如果毫秒真的非常重要,恐怕您必须提供更多关于您要完成的实际工作的见解?

于 2013-10-30T19:17:12.857 回答