Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php javascript循环倒计时_Php_Javascript_Countdown - Fatal编程技术网

Php javascript循环倒计时

Php javascript循环倒计时,php,javascript,countdown,Php,Javascript,Countdown,我有一个关于倒计时的问题。 我有下面的代码,显示一个视觉倒计时。我的问题是,每次我刷新页面时,它都会重置它的客户端。有没有一种方法可以使下面的服务器端在达到零时重新启动 <script> var interval; var minutes = 1; var seconds = 5; window.onload = function() { countdown('countdown'); } function count

我有一个关于倒计时的问题。 我有下面的代码,显示一个视觉倒计时。我的问题是,每次我刷新页面时,它都会重置它的客户端。有没有一种方法可以使下面的服务器端在达到零时重新启动

<script>
    var interval;
    var minutes = 1;
    var seconds = 5;
    window.onload = function() {
        countdown('countdown');
    }

    function countdown(element) {
        interval = setInterval(function() {
            var el = document.getElementById(element);
            if(seconds == 0) {
                if(minutes == 0) {
                    el.innerHTML = "countdown's over!";                    
                    clearInterval(interval);
                    return;
                } else {
                    minutes--;
                    seconds = 60;
                }
            }
            if(minutes > 0) {
                var minute_text = minutes + (minutes > 1 ? ' minutes' : ' minute');
            } else {
                var minute_text = '';
            }
            var second_text = seconds > 1 ? 'seconds' : 'second';
            el.innerHTML = minute_text + ' ' + seconds + ' ' + second_text + ' remaining';
            seconds--;
        }, 1000);
    }
    </script>

<div id='countdown'></div>

var区间;
var分钟=1;
var秒=5;
window.onload=函数(){
倒计时(“倒计时”);
}
函数倒计时(元素){
间隔=设置间隔(函数(){
var el=document.getElementById(元素);
如果(秒==0){
如果(分钟==0){
el.innerHTML=“倒数计时结束!”;
间隔时间;
回来
}否则{
分钟--;
秒=60;
}
}
如果(分钟>0){
var minute_text=minutes+(minutes>1?'minutes':'minute');
}否则{
var minute_text='';
}
var second_text=seconds>1?'seconds':'second';
el.innerHTML=分钟文本+''+秒+''+秒文本+''剩余文本';
秒--;
}, 1000);
}
以上代码可在此处找到:

刚刚设置好

var minutes = 1;
var seconds = 5;
由服务器脚本根据倒计时的结束时间

例子:
  • 在服务器端存储倒计时结束时的日期时间(PHP会话)
  • 根据有关客户端偏移量的存储值计算倒计时时间(不同时区)
  • 在输出HTML中将计算值作为JavaScript值写入
  • 重新加载时,只需根据存储的值重新计算倒计时时间


    就这样

    您确定计数器必须在服务器端吗?如果您只是想在浏览器刷新期间保持倒计时,则可以使用cookie

    // Setting cookie after every second, using the jQuery cookie plugin http://plugins.jquery.com/project/cookie
    $.cookie("minutes", current_minutes_left);
    $.cookie("seconds", current_seconds_left);
    
    // Retrieve cookie later
    $.cookie("minutes");
    $.cookie("seconds");
    // do something with the cookies
    

    应该这样做

    我相信关键在于,当浏览器离开或关闭时,服务器要知道倒计时脚本在哪里。“插件网站目前正在开发中。”