2016-12-10 2 views
-2

페이지를 새로 고침 할 때마다 타이머가 재설정됩니다. 나는 그것이 0내 페이지를 새로 고침 할 때 내 카운트 다운 타이머가 새로 고침되지 않게하십시오.

내 JS를 돌 때까지 타이머가 처리되는 경우 그것으로 중단 된 부분부터 계속 싶습니다

var target_date = new Date().getTime() + (1000*3600*48); // set the countdown date 
 
var days, hours, minutes, seconds; // variables for time units 
 

 
var countdown = document.getElementById("tiles"); // get tag element 
 

 
getCountdown(); 
 

 
setInterval(function() { getCountdown(); }, 1000); 
 

 
function getCountdown(){ 
 

 
\t // find the amount of "seconds" between now and target 
 
\t var current_date = new Date().getTime(); 
 
\t var seconds_left = (target_date - current_date)/1000; 
 

 
\t days = pad(parseInt(seconds_left/86400)); 
 
\t seconds_left = seconds_left % 86400; 
 
\t \t 
 
\t hours = pad(parseInt(seconds_left/3600)); 
 
\t seconds_left = seconds_left % 3600; 
 
\t \t 
 
\t minutes = pad(parseInt(seconds_left/60)); 
 
\t seconds = pad(parseInt(seconds_left % 60)); 
 

 
\t // format countdown string + set tag value 
 
\t countdown.innerHTML = "<span>" + days + "</span><span>" + hours + "</span><span>" + minutes + "</span><span>" + seconds + "</span>"; 
 
} 
 

 
function pad(n) { 
 
\t return (n < 10 ? '0' : '') + n; 
 
}
<div id="tiles"></div>

도움에 감사드립니다.

답변

1

localStorage은 적합합니까?

var persisted = Number(localStorage.getItem('target_date')), 
    target_date; 

if(persisted > 0){ 
    target_date = persisted; 
} else { 
    target_date = Date.now() + (1000 * 3600 * 48); 
    localStorage.setItem('target_date', target_date); 
} 

» Fiddle

관련 문제