简体   繁体   English

计时器结束后如何在计时器上显示警报

[英]How can I show alert on my timer when timer finished

I am using timer in JavaScript, I want that when my timer is finish it show me alert but right now my timer restart again with same time can any one guide me. 我在JavaScript中使用计时器,我希望计时器完成后向我显示警报,但现在我的计时器又重新启动,任何人都可以指导我。 how can I show alert in my timer when it finish. 完成后如何在计时器中显示警报。

 // properties var count = 0; var counter = null; window.onload = function() { initCounter(); }; function initCounter() { // get count from localStorage, or set to initial value of 1000 count = getLocalStorage('count') || 1000; counter = setInterval(timer, 1000); //1000 will run it every 1 second } function setLocalStorage(key, val) { if (window.localStorage) { window.localStorage.setItem(key, val); } return val; } function getLocalStorage(key) { return window.localStorage ? window.localStorage.getItem(key) : ''; } function timer() { count = setLocalStorage('count', count - 1); if (count == -1) { clearInterval(counter); return; } var seconds = count % 60; var minutes = Math.floor(count / 60); var hours = Math.floor(minutes / 60); minutes %= 60; document.getElementById("timer").innerHTML = seconds + " seconds left to complete this transaction"; // watch for spelling } 
 <div id="timer"></div> 

The issue you are facing is related to count . 您面临的问题与count有关。 You set it to 1000 . 您将其设置为1000 So you will have to wait 1000 min before your function clearInterval(timer) is executed. 因此,您将需要等待1000 min才能执行函数clearInterval(timer) You can try the following: 您可以尝试以下方法:

Timer restarts after reloading the page 重新加载页面后计时器重启

 <script type="text/javascript"> // properties var count = 0; var counter = null; window.onload = function() { initCounter(); }; function initCounter() { // get count from localStorage, or set to initial value of 1000 count = 6000; counter = setInterval(timer, 1000); //1000 will run it every 1 second } function timer() { count = count -1; var seconds = count % 60; var minutes = Math.floor(count / 60); var hours = Math.floor(minutes / 60); minutes %= 60; if(seconds === 0) { clearInterval(counter); alert("terminated"); } document.getElementById("timer").innerHTML = seconds + " seconds left to complete this transaction"; // watch for spelling } </script> <div id="timer"></div> 

Timer remains unchanged even after restart 即使重启后计时器也保持不变

<script type="text/javascript">
  // properties
  var count = 0;
  var counter = null;

 window.onload = function() {
    initCounter();
  };

 function initCounter() {
    // get count from localStorage, or set to initial value of 1000
    if(!count || count < 0)
    {
        count = 1000;
    }
    counter = setInterval(timer, 1000); //1000 will  run it every 1 second
  }

 function setLocalStorage(key, val) {
    if (window.localStorage) {
      window.localStorage.setItem(key, val);
    }

   return val;
  }

 function getLocalStorage(key) {
    return window.localStorage ? window.localStorage.getItem(key) : '';
  }

 function timer() {
    count = setLocalStorage('count', count - 1);

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

   if(seconds === 0)
    {
        clearInterval(counter);
        alert("terminated");
        }
   document.getElementById("timer").innerHTML =  seconds +  "  seconds left to complete this transaction"; // watch for spelling
  }
 </script>


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

It is not a snippet as the first one, because localstorage are disabled in snippet of stackoverflow 它不是第一个片段,因为在stackoverflow片段中禁用了localstorage

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM