Javascript倒计时计时器+;JS中的PHP代码

Javascript倒计时计时器+;JS中的PHP代码,javascript,php,jquery,timer,countdown,Javascript,Php,Jquery,Timer,Countdown,我需要javascript中的倒计时帮助。我在PHPJabbers中找到了下面的代码。这段代码工作正常,但当我重新加载页面时,时间会回到初始时间。我想保留时间,即使我加载页面。如果秒=0,我还想在里面添加PHP函数。我不确定这是否可能。提前谢谢 <span id="countdown" class="timer"></span> <script> var seconds = 60; function secondPassed() { var m

我需要javascript中的倒计时帮助。我在PHPJabbers中找到了下面的代码。这段代码工作正常,但当我重新加载页面时,时间会回到初始时间。我想保留时间,即使我加载页面。如果秒=0,我还想在里面添加PHP函数。我不确定这是否可能。提前谢谢

<span id="countdown" class="timer"></span>
<script>
var seconds = 60;
    function secondPassed() {
    var minutes = Math.round((seconds - 30)/60);
    var remainingSeconds = seconds % 60;
    if (remainingSeconds < 10) {
        remainingSeconds = "0" + remainingSeconds; 
    }
    document.getElementById('countdown').innerHTML = minutes + ":" +    remainingSeconds;
    if (seconds == 0) {
        clearInterval(countdownTimer);
        document.getElementById('countdown').innerHTML = "Buzz Buzz";
    } else {    
        seconds--;
    }
    }
var countdownTimer = setInterval('secondPassed()', 1000);
</script>

var秒=60;
函数secondPassed(){
var分钟=数学轮((秒-30)/60);
var剩余秒数=秒数%60;
如果(剩余秒数<10){
剩余秒数=“0”+剩余秒数;
}
document.getElementById('countdown')。innerHTML=minutes+“:”+remainingSeconds;
如果(秒==0){
清除间隔(倒计时);
document.getElementById('countdown').innerHTML=“Buzz”;
}否则{
秒--;
}
}
var countdownTimer=setInterval('secondPassed()',1000);
检查此项(使用cookie实现)

函数setCookie(cname、cvalue、exdays)
{
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.togmString();
document.cookie=cname+“=”+cvalue+”;“+expires;
}
函数getCookie(cname)
{
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);

对于(var i=0;ibhavesh的尼斯解决方案..如果有人想同时显示天、小时、分钟、秒,那么他们可以引用此代码

Reverse timer from javascript:

var target_date = new Date('Aug 01 2014 20:47:00').getTime();
    var days, hours, minutes, seconds;
    var countdown = document.getElementById('timeremaining');
    var countdownTimer = setInterval(function () {
        var current_date = new Date().getTime();
        var seconds_left = (target_date - current_date) / 1000;

        days = parseInt(seconds_left / 86400);
        seconds_left = seconds_left % 86400;

        hours = parseInt(seconds_left / 3600);
        seconds_left = seconds_left % 3600;
        minutes = parseInt(seconds_left / 60);
        seconds = parseInt(seconds_left % 60);

        if(days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0 )
        {
           document.getElementById('timeremaining').innerHTML = '';
           clearInterval(countdownTimer);              
        }
        else
        {       
            if(days>0)
              {
                 days= days+'d,';
              } 
              else
              {
                 days='';
              }            
            countdown.innerHTML ='( ' + days + checkTime(hours) + ':'+ checkTime(minutes) + ':' + checkTime(seconds) +' remaining)';    
        }
    }, 1000);

    function checkTime(i) {
        if (i < 10) {i = '0' + i};  
        return i;
    }
来自javascript的反向计时器: var target_date=新日期('2014年8月1日20:47:00')。getTime(); var天、小时、分钟、秒; var countdown=document.getElementById('timeremaining'); var倒计时=设置间隔(函数(){ var current_date=new date().getTime(); var秒数左=(目标日期-当前日期)/1000; 天=parseInt(还剩秒/86400); 剩余秒数=剩余秒数%86400; 小时=parseInt(剩余秒/3600); 剩余秒数=剩余秒数%3600; 分钟=parseInt(剩余秒/60); 秒=parseInt(剩余%60秒);
if(days)使用
cookies
或HTML5
localStorage
感谢@hindsest的回复。但是这两个选项中哪一个更好?最好同时使用这两个选项if(seconds==0){。我试图将我的PHP代码放入其中,但它不起作用。您不能直接在JS中调用PHP函数。您只能通过AJAX使用间接调用。@Bhavesh代码不错,但是否可以修改它使其起作用,以便在有人离开具有计时器的特定页面,然后稍后返回该页面时,倒计时仍在运行?底部链接已失效:(您是否仍在某处有JSFIDLE链接?
Reverse timer from javascript:

var target_date = new Date('Aug 01 2014 20:47:00').getTime();
    var days, hours, minutes, seconds;
    var countdown = document.getElementById('timeremaining');
    var countdownTimer = setInterval(function () {
        var current_date = new Date().getTime();
        var seconds_left = (target_date - current_date) / 1000;

        days = parseInt(seconds_left / 86400);
        seconds_left = seconds_left % 86400;

        hours = parseInt(seconds_left / 3600);
        seconds_left = seconds_left % 3600;
        minutes = parseInt(seconds_left / 60);
        seconds = parseInt(seconds_left % 60);

        if(days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0 )
        {
           document.getElementById('timeremaining').innerHTML = '';
           clearInterval(countdownTimer);              
        }
        else
        {       
            if(days>0)
              {
                 days= days+'d,';
              } 
              else
              {
                 days='';
              }            
            countdown.innerHTML ='( ' + days + checkTime(hours) + ':'+ checkTime(minutes) + ':' + checkTime(seconds) +' remaining)';    
        }
    }, 1000);

    function checkTime(i) {
        if (i < 10) {i = '0' + i};  
        return i;
    }