2016-01-13 154 views
1

什么是做一个倒计数一个cookie的计时器到期日期的好方法? 我正在一个静态的html页面上,和我有问题,找到如何真正做到这一点,这样的事情(jsfiddle)应该罚款我需要什么,问题就来上设置cookie后留下的秒被设置,不知道如何做到这一点。请注意,计时器和“设置cookie”将位于不同的页面中。希望你能给我一些提示或想法。如何将倒数计时器设置为cookie过期日期?

JS代码小提琴:

<script> 
    //count down function 

var seconds_left = 10; 
var interval = setInterval(function() { 
    document.getElementById('timer_div').innerHTML = --seconds_left; 

    if (seconds_left <= 0) 
    { 
     document.getElementById('timer_div').innerHTML = "You are Ready!"; 
     clearInterval(interval); 
    } 
}, 1000); 

//set the cookie funcion 

    function music_player(){ 
    days=1; // number of days to keep the cookie 
    myDate = new Date(); 
    myDate.setTime(myDate.getTime()+(days*24*60*60*1000)); 
    document.cookie = 'music_player=play; expires=' + myDate.toGMTString(); 
    } 
</script> 

<a href="#" class="yes_alive" onclick="music_player()">Set the cookie</a> 
<div id="timer_div"></div> 
+0

我看你的倒计时工作得很好。 Cookie是否被设置? –

+0

也许我表达自己不好,我问这是否是一种好方法,或者如果有更好的方法,或者对于我应该怎么做的提示/想法/帮助,我的意思是管理过期日期并能够在倒计时功能发挥它的的jsfiddle只是为了让你有什么,我去上班,像素描,仅此而已理解。 –

+0

我会努力为你一个基本的设计,当我得到一个机会,除非有人打我给它。 –

回答

0

我相信我有,你想要达到什么样的想法。我做了一些改变,可以帮助你实现总体目标。当您点击链接时,倒数计时器将根据您为Cookie过期设置的秒数启动。

实时预览:http://codepen.io/larryjoelane/pen/bEroPg

HTML:

<div id='timer_div'></div> 

<a href="#" id="yes_alive" >Set the cookie</a> 
<div id="timer_div"></div> 

的JavaScript:

//store the number of days 
var days = 1; 

//store the number of seconds 
var seconds_left = days * 24 * 60 * 60 * 1000; 

//register the click event 
document.getElementById("yes_alive").addEventListener("click", function(event) { 

    //stop default action of the anchor tag 
    event.preventDefault(); 

    //call the music player and set the cookie 
    music_player(days); 

    //start the count down timer 
    startTimer(seconds_left); 

}); 

function startTimer(seconds_left) { 

    var interval = setInterval(function() { 
    document.getElementById('timer_div').innerHTML = --seconds_left; 

    if (seconds_left <= 0) { 
     document.getElementById('timer_div').innerHTML = "You are Ready!"; 
     clearInterval(interval); 
    } 
    }, 1000); 

} 

function music_player(days) { 

    myDate = new Date(); 
    myDate.setTime(myDate.getTime() + (days * 24 * 60 * 60 * 1000)); 
    document.cookie = 'music_player=play; expires=' + myDate.toGMTString(); 

} 
+0

很酷,但如果页面重新加载倒计时不工作了,也计时器和“设置Cookie”将在不同的页面。无论如何感谢您的工作!也许玩弄当前时间和cookie的过期日期? –