2016-07-25 6 views
0

Я новичок здесь. Я знаю, что есть аналогичный вопрос по этому вопросу, но я все равно не понимаю. Простите за это. Я надеюсь на это.Предотвращение сброса таймера Javascript при обновлении страницы

У меня есть таймер обратного отсчета 30 секунд. Как предотвратить его сброс?

Вот код:

<html> 
<body> 

<div id="timer"></div> 


<script> 

    var count = 1801; // 30 seconds 
    var counter = setInterval(timer, 1000); //1000 will run it every 1 second 

    function timer() { 
     count = count - 1; 
     if (count == -1) { 
      clearInterval(counter); 
      document.getElementById("submittime").click(); 
      return; 
     } 

     var secondcount = count; 
     var seconds = count % 60; 
     var minutes = Math.floor(count/60); 
     var hours = Math.floor(minutes/60); 
     minutes %= 60; 
     hours %= 60; 

     document.getElementById("timer").innerHTML = hours + ":" + minutes + ":" + seconds; 



    } 

    </script> 

</body> 
</html> 

Я хочу использовать код выше, и объединить его с этим. В настоящее время этот код является таймером от 0 до 10 и не обновляется браузером. Я не знаю, как это сделать с помощью часа, минут, секунд.

<body> 
    <div id="divCounter"></div> 
    <script type="text/javascript"> 
    if(localStorage.getItem("counter")){ 
     if(localStorage.getItem("counter") >= 10){ 
     var value = 0; 
     }else{ 
     var value = localStorage.getItem("counter"); 
     } 
    }else{ 
     var value = 0; 
    } 
    document.getElementById('divCounter').innerHTML = value; 

    var counter = function(){ 
     if(value >= 10){ 
     localStorage.setItem("counter", 0); 
     value = 0; 
     }else{ 
     value = parseInt(value)+1; 
     localStorage.setItem("counter", value); 
     } 
     document.getElementById('divCounter').innerHTML = value; 
    }; 

    var interval = setInterval(function(){counter();}, 1000); 
    </script> 
</body> 
+0

Вам необходимо использовать файлы cookie/браузера, чтобы пережить обновление страницы, см. Это для некоторых подсказок http://stackoverflow.com/questions/37606193/countdown-timer-for-hours-minutes-and-seconds/37606971 # 37606971 – Viney

+0

Спасибо, но знаете ли вы, как применять или объединять этот код с этим примером кода. Answer.http: //stackoverflow.com/questions/22099714/how-to-make-countdown-timer-not-reset-when- refresh-the-browser – deynyeldan

+0

Я хочу использовать локальное хранилище, но я не знаю, как применить его с этим кодом. этот код будет отправлять викторину if (count == -1) { clearInterval (счетчик); document.getElementById ("submittime"). Click(); возвращение; } – deynyeldan

ответ

2

Обычно на стороне клиента javascript перезагружается, когда страница перезагружается. вот как это работает. По моим сведениям, наилучшим способом является:

Сохраните значение обратного отсчета в Cookie или локальном хранилище и продолжайте загрузку страницы с этого значения.

Смежные вопросы