2013-02-09 40 views
0

我有一个要求,使倒计时计时器自动重新启动时间已过去。如何使倒数计时器自动重新启动使用PHP

例如,我需要从英国时间下午3点或15点开始倒计时,并重置时间到达时再次开始计数。

我一直在尝试使用一些jQuery,但它会显示浏览器时间而不是服务器时间。如果有人能够分享解决方案,请告诉我。

在此先感谢!

下面的代码是一个工作示例从完美的作品:当你正在编写包含该JavaScript文件只需设置变量存在,而不是让JavaScript来做到HTML https://gist.github.com/Majestik/3964527

if (document.getElementById('countdownTimer')) { 
    pad = function(n, len) { // leading 0's 
     var s = n.toString(); 
     return (new Array((len - s.length + 1)).join('0')) + s; 
    }; 
    function countDown() { 
     var now = new Date(); 
     if ((now.getDay() >= 1) && (now.getDay() <= 5)) { // Monday to Friday only 
      var target = 15; // 15:00hrs is the cut-off point 
      if (now.getHours() < target) { // don't do anything if we're past the cut-off point 
       var hrs = (target - 1) - now.getHours(); 
       if (hrs < 0) hrs = 0; 
       var mins = 59 - now.getMinutes(); 
       if (mins < 0) mins = 0; 
       var secs = 59 - now.getSeconds(); 
       if (secs < 0) secs = 0; 
       var str = pad(hrs, 2) + ':' + pad(mins, 2) + '.<small>' + pad(secs, 2) + '</small>'; 
       document.getElementById('countdownTimer').innerHTML = str; 
      } 
     } 
    } 
    var timerRunning = setInterval('countDown()', 1000); 
} 

Time remaining: <span id="countdownTimer"><span>00:00.<small>00</small></span> 
+0

从var time = new Date开始(<?php echo microtime();?>) – mplungjan 2013-02-09 09:50:28

+2

在页面加载时从服务器获取时间。请在您提出问题之前,缩进您的代码,并至少尝试谷歌您的问题。有很多倒计时的例子,您只需稍作修改 – JohnJohnGa 2013-02-09 09:51:53

回答

1

在你的PHP代码它一旦加载完毕,这样你就可以使用服务器时间而不是浏览器时间。

+0

感谢您的帮助! – user1704524 2013-02-09 11:19:27

+0

我发现这个非常整齐的脚本,完全符合我的要求。你可以在这里找到它:https://gist.github.com/Majestik/3964527 – user1704524 2013-02-23 17:32:30