2016-01-13 135 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的過期日期? –