文章详情页
javascript - 原生JS实现发送验证码计秒
浏览:182日期:2023-03-28 11:50:01
问题描述
现在有个问题就如题所示,我想有一个登录页面,但是是基于遥控器的。绑定手机时需要向手机发送验证码,随后按钮的label就要随着时间减少 60s 50s ... 0s 等 在计秒的过程中,我可能还会上下左右操作。
问题是这样,稍微了解了下 js 是单线程运行 我计秒这个 动作 和我计秒的同时进行上下左右切换焦点并行,在我理解是2个线程操作。所以 小弟不得其解,怎么去实现呢? 求高人指点。
问题解答
回答1:开一个 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)回答2:
定时器是异步执行的,定时是由另一个工作线程来完成的,对主线程不会有影响。当定时器时间到达后,会把要执行的回调函数放到任务队列里,并由主线程来调用回调函数。
所以在主线程上的操作不会影响定时器。
回答3:不用关心线程问题 setInterval可以
标签:
JavaScript
相关文章:
1. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. mysql - SQL操作时间的函数?4. MYSQL新建用户设置可以远程访问的问题5. docker内创建jenkins访问另一个容器下的服务器问题6. javascript - 用表单提交两个时间段请求后台返回对应数据时出现的一些问题!7. java - mybatis怎么实现在数据库中有就修改,没有就添加8. 正则表达式 - python pandas的sep参数问题9. angular.js - angularjs的自定义过滤器如何给文字加颜色?10. docker api 开发的端口怎么获取?
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)