Javascript 如何在刷新浏览器时使倒计时计时器不重置?
当我刷新浏览器时,计时器将重置,那么如何使其不重置? 这是我的密码。请检查一下Javascript 如何在刷新浏览器时使倒计时计时器不重置?,javascript,php,web,timer,countdown,Javascript,Php,Web,Timer,Countdown,当我刷新浏览器时,计时器将重置,那么如何使其不重置? 这是我的密码。请检查一下 <?php echo $waktune; ?> // You can change it into seconds //您可以将其更改为秒 var-detik=; if(document.images){ parselimit=detik } 函数begintimer(){ 如果(!document.images) 返回 如果(解析极限x&&cookie已经设置的情况下才能重置计时器 在init上设置
<?php echo $waktune; ?> // You can change it into seconds
//您可以将其更改为秒
var-detik=;
if(document.images){
parselimit=detik
}
函数begintimer(){
如果(!document.images)
返回
如果(解析极限<12){
document.getElementById(“servertime”).style.color=“绿色”;
}
if(parselimit==1){
document.getElementById(“hasil”).submit();
}否则{
parselimit-=1 curmin=Math.floor(parselimit/60)
cursec=parselimit%60
如果(curmin!=0)
curtime=curmin+”:“+cursec+”其他
curtime=cursec+“detik”document.getElementById(“servertime”).innerHTML=curtime setTimeout(“begintimer()”,1000)
}
}
我认为您必须在cookie中保存一些值,并且只有在timer>x&&cookie已经设置的情况下才能重置计时器
在init上设置cookie:
setcookie("reloaded","true");
重新加载时设置cookie:
setcookie("reloaded","false");
检查:
if($_COOKIE["reloaded"] == false && timer > $time) {
/* reset timer */
}
将服务器时间存储在cookie中(请参阅),然后加载该cookie。不过,您需要考虑希望此cookie持续多长时间。尝试使用会话存储:
// Store
sessionStorage.setItem("key", "value");
// Retrieve
document.getElementById("result").innerHTML=sessionStorage.getItem("key");
更新
例如:
<head>
</head>
<body>
<div id="divCounter"></div>
<script type="text/javascript">
if (sessionStorage.getItem("counter")) {
if (sessionStorage.getItem("counter") >= 10) {
var value = 0;
} else {
var value = sessionStorage.getItem("counter");
}
} else {
var value = 0;
}
document.getElementById('divCounter').innerHTML = value;
var counter = function () {
if (value >= 10) {
sessionStorage.setItem("counter", 0);
value = 0;
} else {
value = parseInt(value) + 1;
sessionStorage.setItem("counter", value);
}
document.getElementById('divCounter').innerHTML = value;
};
var interval = setInterval(counter, 1000);
</script>
</body>
if(sessionStorage.getItem(“计数器”)){
if(sessionStorage.getItem(“计数器”)>=10){
var值=0;
}否则{
var值=sessionStorage.getItem(“计数器”);
}
}否则{
var值=0;
}
document.getElementById('divCounter')。innerHTML=value;
变量计数器=函数(){
如果(值>=10){
sessionStorage.setItem(“计数器”,0);
数值=0;
}否则{
value=parseInt(value)+1;
sessionStorage.setItem(“计数器”,值);
}
document.getElementById('divCounter')。innerHTML=value;
};
var间隔=设置间隔(计数器,1000);
您可以使用,例如:
localStorage.setItem('countDownValue', curtime); // To set the value
...
curtime = localStorage.getItem('countDownValue'); // To get the value
函数getCookie(cname){
变量名称=cname+“=”;
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(“;”);
对于(变量i=0;i 0){
cnt=getCookie(“cnt”);
}
cnt-=1;
document.cookie=“cnt=”+cnt;
jQuery(“#counter”).val(getCookie(“cnt”);
如果(cnt>0){
设置超时(计数器,1000);
}
}
计数器();
来源:如何使用JavaScript创建倒计时计时器
var countDownDate = new Date("Jan 5, 2021 15:37:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get today's date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
var countDownDate=新日期(“2021年1月5日15:37:25”).getTime();
//每1秒更新一次倒计时
var x=setInterval(函数(){
//获取今天的日期和时间
var now=new Date().getTime();
//找出现在和倒计时日期之间的距离
var距离=倒计时日期-现在;
//天、小时、分钟和秒的时间计算
可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60));
var分钟=数学楼层((距离%(1000*60*60))/(1000*60));
var秒=数学楼层((距离%(1000*60))/1000);
//在id=“demo”的元素中输出结果
document.getElementById(“demo”).innerHTML=hours+“h”
+分钟+米+秒+秒;
//如果倒计时结束,写一些文字
如果(距离<0){
净间隔(x);
document.getElementById(“demo”).innerHTML=“过期”;
}
}, 1000);
希望得到帮助。你能告诉我在哪里写这段代码吗?或者给我举个例子。对不起,我是javascript的新手。
<form name="counter">
<input type="text" size="8" name="chandresh" id="counter">
</form>
<script type="text/javascript">
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
var cnt = 60;
function counter(){
if(getCookie("cnt") > 0){
cnt = getCookie("cnt");
}
cnt -= 1;
document.cookie = "cnt="+ cnt;
jQuery("#counter").val(getCookie("cnt"));
if(cnt>0){
setTimeout(counter,1000);
}
}
counter();
</script>
var countDownDate = new Date("Jan 5, 2021 15:37:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get today's date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);