首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果关闭标签,倒计时就不会继续运行

问如果关闭标签,倒计时就不会继续运行
EN

Stack Overflow用户
提问于 2014-12-16 08:06:00
回答 1查看 105关注 0票数 1

我正在学习倒计时,我在网上找到了一个向导。但是,当页面关闭时,倒计时停止,如果我再次打开该页,倒计时将再次运行,即使该页已关闭,我也希望使倒计时继续运行。http://jsfiddle.net/FnsY4/

​

代码语言:javascript
复制
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);
代码语言:javascript
复制
<span id="countdown" class="timer"></span>

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-16 08:13:57

如果您希望倒计时有效,即使选项卡已经关闭,您将不得不使用两个(或更多)选项重新考虑它:

  • 您在服务器端执行此操作,倒计时将显示在“客户端”窗口中,但在服务器中进行处理。
  • 你把倒计时设定在一个给定的日期(比如说) 16/12/2014 :00上午11:00,然后为显示做一些微积分。由于给定的日期是不变的,无论倒计时多少次将关闭/打开,它将永远是真实的。
  • 一旦开始倒计时,就可以将结束日期时间保存到cookie中,并在下次打开页面时从它恢复倒计时。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27500110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档