html OTP验证2分钟倒计时计时器

xnifntxz  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(177)

我需要停止时间由02.00到0.00。但它停止在-1.59或开始递减向前。在Angular 打字脚本我写了上面的代码。我做错了什么:

<html>
  <body>
    <input type="text" name="otp" placeholer="Enter your otp"/>
    <div>Time left = <span id="timer"></span></div>
  </body>
</html>

IN角形 typescript :

callMyCount(){    
  document.getElementById('timer').innerHTML ="02" + ":" + "00";
  var myTimer=setInterval(startTimer,1000);

  function startTimer() {
    var presentTime = document.getElementById('timer').innerHTML;
    var timeArray = presentTime.split(/[:]+/);
    var m = parseInt(timeArray[0]);
    var s = checkSecond((parseInt(timeArray[1]) - 1));
    if(s==59){m=m-1}
    if(m<0 && s==59){alert("Timeout for otp");
                     clearTimeout(myTimer);}
    document.('timer').innerHTML =  m + ":" + s;
  }

  function checkSecond(sec) {
    if (sec < 10 && sec >= 0) {sec = "0" + sec}; 
    if (sec < 0) {sec = "59"};
    return sec;
  }
}
qvtsj1bj

qvtsj1bj1#

使用内部setTimeout可以做得更简单,它执行递归调用并只计算秒数:
第一个
timerOn变量只用于以编程方式停止倒计时。如果加载另一个页面则无用。

相关问题