每秒执行:setInterval
指定时间结束后执行:setTimeout
function createTimer(time,interval,timeout){
let hasStartTime = 0//已经走了的时间
interval(hasStartTime)//立即执行一次
let _interval = setInterval(()=>{
hasStartTime = hasStartTime+1000
interval(hasStartTime)
}, 1000)
setTimeout(()=>{
clearInterval(_interval)
timeout()
}, time || 60000)
}
其中time为设定的总时间,interval为每秒执行的操作,timeout为时间结束后执行的操作。记住倒计时结束后要将每秒执行的操作取消掉。
调用者只要自己传入每秒要刷新的内容。比如
let time = 10000
createTimer(time,timeStart=>{
let btn_text = `重新发送(${(time- timeStart)/1000}s)`
let btn_lock = true
},()=>{
let btn_text = `重新发送`,
let btn_lock = false
})
相关推荐:
以上是js实现短信验证码倒计时实例分享的详细内容。更多信息请关注PHP中文网其他相关文章!