距开课0天0时0分-10331077秒
女神的闺蜜爱上我2017-07-05 10:44:00 0 3 284
[JavaScript讨论组]举报回复话题 ↕
现在有个问题就如题所示,我想有一个登录页面,但是是基于遥控器的。绑定手机时需要向手机发送验证码,随后按钮的label就要随着时间减少 60s 50s ... 0s 等 在计秒的过程中,我可能还会上下左右操作。
问题是这样,稍微了解了下 js 是单线程运行 我计秒这个 动作 和我计秒的同时进行上下左右切换焦点并行,在我理解是2个线程操作。所以 小弟不得其解,怎么去实现呢? 求高人指点。
3
0
分享
我想大声告诉你 2017-07-05 10:46:003楼
开一个 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:002楼
定时器是异步执行的,定时是由另一个工作线程来完成的,对主线程不会有影响。当定时器时间到达后,会把要执行的回调函数放到任务队列里,并由主线程来调用回调函数。
所以在主线程上的操作不会影响定时器。
迷茫 2017-07-05 10:46:001楼
不用关心线程问题 setInterval可以
我想大声告诉你 2017-07-05 10:46:003楼
开一个 setInterval 跑完60秒自动解除button的disabled
跑的过程中时间累减
比如
赞 +0添加回复
淡淡烟草味 2017-07-05 10:46:002楼
定时器是异步执行的,定时是由另一个工作线程来完成的,对主线程不会有影响。当定时器时间到达后,会把要执行的回调函数放到任务队列里,并由主线程来调用回调函数。
所以在主线程上的操作不会影响定时器。
赞 +0添加回复
迷茫 2017-07-05 10:46:001楼
不用关心线程问题 setInterval可以
赞 +0添加回复