js实现5秒倒计时重新发送短信功能


Posted in Javascript onFebruary 05, 2017

本文实例讲述了js实现倒计时重新发送短信验证码功能的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>js-手机发送短信倒计时</title>
 <style>
  button{
   width: 100px;
   height: 30px;
   border: none;
  }
  input{
   outline: none;
  }
 </style>
 <script> 
  window.onload = function(){
   function $(id){ return document.getElementById(id); } 
   $('btn').onclick = function(){
    clearInterval(timer); //清除计时器 
    var that = this;
    that.disabled = true;
    var count = 5;
    var timer = setInterval(function(){
     if(count>0){
      count--;
      that.innerHTML = "剩余时间"+ count +"s";
     }else{
      that.innerHTML ="重新发送短信";
      that.disabled = false;
      clearInterval(timer); //清除计时器
     }
    },1000);
   }
  }
 </script>
</head>
<body>
 <div class="box">
  <input type="text" id="txt">
  <button id="btn" >点击发送短信</button>
 </div>
</body>
</html>

或者使用setTimeout来模拟,一般情况下,还是推荐使用setTimeout,更安全一些。当使用setInterval(fn,1000)时,程序是间隔1s执行一次,但是每次程序执行是需要3s,那么就要等程序执行完才能执行下一次,即实际间隔时间为(间隔时间和程序执行时间两者的最大值)。而setTimeout(fn,1000),代表的是,延迟1s再执行程序,且仅执行一次。每次程序执行是需要3s,所以实际时间为 1s+3s=4s。可以使用setTimeout递归调用来模拟setInterval。

<script> 
  window.onload = function(){
   function $(id){ return document.getElementById(id); } 
   $('btn').onclick = function(){
    var that = this;
    that.disabled = true;
    var count = 5;
    var timer = setTimeout(fn,1000);
    function fn(){
     count--;
     if(count>0){
      that.innerHTML = "剩余时间"+ count +"s";
      setTimeout(fn,1000); 
     }else{
      that.innerHTML ="重新发送短信";
      that.disabled = false; 
     }
    }
   }
  }
 </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
Javascript中的this绑定介绍
Sep 22 Javascript
js对图片base64编码字符串进行解码并输出图像示例
Mar 17 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
JS简单获取当前年月日星期的方法示例
Feb 07 Javascript
简单理解Vue中的nextTick方法
Jan 30 Javascript
swiper 解决动态加载数据滑动失效的问题
Feb 26 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
Apr 07 Javascript
详解JavaScript实现动态的轮播图效果
Apr 29 Javascript
微信小程序如何实现全局重新加载
Jun 05 Javascript
JavaScript实现雪花飘落效果
Dec 27 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
Feb 05 #Javascript
js仿小米手机上下滑动效果
Feb 05 #Javascript
简单实现js无缝滚动效果
Feb 05 #Javascript
完美的js图片轮换效果
Feb 05 #Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
Feb 05 #Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
Feb 05 #Javascript
Vue.js学习示例分享
Feb 05 #Javascript
You might like
php流量统计功能的实现代码
2012/09/29 PHP
PHP数据类型之布尔型的介绍
2013/04/28 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
javascript Array.sort() 跨浏览器下需要考虑的问题
2009/12/07 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
js简单时间比较的方法
2016/08/02 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
解决yum对python依赖版本问题
2019/07/05 Python
python解释器spython使用及原理解析
2019/08/24 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python表达式的优先级详解
2020/02/18 Python
python实现简单文件读写函数
2021/02/25 Python
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
一道输出判断型Java面试题
2014/10/01 面试题
洗煤厂厂长岗位职责
2014/01/03 职场文书
求职信范文怎么写
2014/01/29 职场文书
大学新生入学教育方案
2014/05/16 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
干部作风建设工作总结
2014/10/29 职场文书
实习生个人总结范文
2015/02/28 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android