搜索

首页  >  问答  >  正文

javascript - 原生JS实现发送验证码计秒

  1. 现在有个问题就如题所示,我想有一个登录页面,但是是基于遥控器的。绑定手机时需要向手机发送验证码,随后按钮的label就要随着时间减少 60s 50s ... 0s 等 在计秒的过程中,我可能还会上下左右操作。

  2. 问题是这样,稍微了解了下 js 是单线程运行 我计秒这个 动作 和我计秒的同时进行上下左右切换焦点并行,在我理解是2个线程操作。所以 小弟不得其解,怎么去实现呢? 求高人指点。

女神的闺蜜爱上我女神的闺蜜爱上我2745 天前805

全部回复(3)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-07-05 10:46:00

    开一个 setInterval 跑完60秒自动解除button的disabled

    跑的过程中时间累减

    比如

    
    //伪代码、思路是这样
    var i = 60;
    var interval;
    interval = setInterval(function(){
        document.getElementById("testBtn").innerHTML(i+'s')
        i = i-1
        if(i<=0){
            clearInterval(interval)
            //解除你的btn不可点击
        }
    },1000)

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-07-05 10:46:00

    定时器是异步执行的,定时是由另一个工作线程来完成的,对主线程不会有影响。当定时器时间到达后,会把要执行的回调函数放到任务队列里,并由主线程来调用回调函数。

    所以在主线程上的操作不会影响定时器。

    回复
    0
  • 迷茫

    迷茫2017-07-05 10:46:00

    不用关心线程问题 setInterval可以

    回复
    0
  • 取消回复