JS内部的Javascript倒计时器+ PHP代码 [英] Javascript countdown timer + PHP code inside JS

查看:106
本文介绍了JS内部的Javascript倒计时器+ PHP代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I need help with countdown timer in javascript.I found the code below in PHPJabbers. This code works fine, but when I reload the page the time goes back to its initial time. I want to retain the time even if I load the page. I want also to add PHP function inside if seconds == 0. I'm not sure if it's possible. Thanks in advance

<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>


推荐答案

检查一下,(使用cookies实现)

Check this, (implemented using cookies)

                function setCookie(cname,cvalue,exdays)
                {
                var d = new Date();
                d.setTime(d.getTime()+(exdays*24*60*60*1000));
                var expires = "expires="+d.toGMTString();
                document.cookie = cname + "=" + cvalue + "; " + expires;
                }
                function getCookie(cname)
                {
                var name = cname + "=";
                var ca = document.cookie.split(';');
                for(var i=0; i<ca.length; i++)
                  {
                  var c = ca[i].trim();
                  if (c.indexOf(name)==0) return c.substring(name.length,c.length);
                  }
                return "";
                }

                //check existing cookie
                cook=getCookie("my_cookie");

                if(cook==""){
                   //cookie not found, so set seconds=60
                   var seconds = 60;
                }else{
                     seconds = cook;
                     console.log(cook);
                }

                function secondPassed() {
                    var minutes = Math.round((seconds - 30)/60);
                    var remainingSeconds = seconds % 60;
                    if (remainingSeconds < 10) {
                        remainingSeconds = "0" + remainingSeconds;
                    }
                    //store seconds to cookie
                    setCookie("my_cookie",seconds,5); //here 5 is expiry days

                    document.getElementById('countdown').innerHTML = minutes + ":" +    remainingSeconds;
                    if (seconds == 0) {
                        clearInterval(countdownTimer);
                        document.getElementById('countdown').innerHTML = "Buzz Buzz";
                    } else {    
                        seconds--;
                    }
                }

                var countdownTimer = setInterval(secondPassed, 1000);

工作 jsFiddle

这篇关于JS内部的Javascript倒计时器+ PHP代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆