本文首先分析手机发送验证码的原理,再对javascript发送短信验证码予以实现,具体思路如下:
实现点击“发送验证码”按钮后,按钮依次显示为“59秒后重试”、“58秒后重试”…直至倒计时至0秒时再恢复显示为“发送验证码”。在倒计时期间按钮为禁用状态 .
第一步、获取按钮、绑定事件、设置定时器变量和计时变量
第二步、添加定时器,每隔1秒钟计时减 1,直至当计时小于等于 0 时清除定时器,按钮恢复为“发送验证码”,否则显示为“X秒后重试”
效果图:
实现代码:
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- <script type="text/javascript">
- window.onload=function(){
- var send=document.getElementById('send'),
- times=60,
- timer=null;
- send.onclick=function(){
- // 计时开始
- var that = this;
- this.disabled=true;
- timer = setInterval(function(){
- times --;
- that.value = times + "秒后重试";
- if(times <= 0){
- that.disabled =false;
- that.value = "发送验证码";
- clearInterval(timer);
- times = 60;
- }
- //console.log(times);
- },1000);
- }
- }
- </script>
- </head>
- <body>
- <input type="button" id="send" value="发送验证码">
- </body>
- </html>
新闻热点
疑难解答
图片精选