JS 实现获取验证码 倒计时功能


Posted in Javascript onOctober 29, 2018

setInterval 一个定时器搞定

<style>
button{
  background: #45BCF9;
  color: #fff;
  padding: 4px 10px;
  border: none;
  outline: none;
  cursor: pointer;
}
button:hover{
  background: #00a8fe;
}
button.disabled{
  background: #000;
  cursor: auto;
}
button.disabled:hover{
  background: #000;
}
</style>
<button type="button" onclick="fn()">获取验证码</button>
<script>
function fn(){
  var oBtn = document.getElementsByTagName('button')[0];
  var time = 60;
  var timer = null;
  oBtn.innerHTML = time + '秒后重新发送';
  oBtn.setAttribute('disabled', 'disabled');  // 禁用按钮
  oBtn.setAttribute('class', 'disabled');   // 添加class 按钮样式变灰
  timer = setInterval(function(){
    // 定时器到底了 兄弟们回家啦
    if(time == 1){
      clearInterval(timer);       
      oBtn.innerHTML = '获取验证码';  
      oBtn.removeAttribute('disabled'); 
      oBtn.removeAttribute('class');  
    }else{
      time--;
      oBtn.innerHTML = time + '秒后重新发送';
    }
  }, 1000)
}
</script>

总结

以上所述是小编给大家介绍的JS 实现获取验证码 倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Prototype Array对象 学习
Jul 19 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
Feb 26 Javascript
jquery 圆形旋转图片滚动切换效果
Jan 19 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
Aug 02 Javascript
JQuery中Bind()事件用法分析
May 05 Javascript
javascript生成不重复的随机数
Jul 17 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
May 31 Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 Javascript
vue中$refs的用法及作用详解
Apr 24 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
Oct 22 Javascript
解决layui动态加载复选框无法选中的问题
Sep 20 Javascript
mustache.js实现首页元件动态渲染的示例代码
Dec 28 Javascript
浅析微信扫码登录原理(小结)
Oct 29 #Javascript
详解Node.js中path模块的resolve()和join()方法的区别
Oct 29 #Javascript
详解vue-router数据加载与缓存使用总结
Oct 29 #Javascript
vue mounted 调用两次的完美解决办法
Oct 29 #Javascript
Electron中实现大文件上传和断点续传功能
Oct 28 #Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
Oct 28 #Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 #Javascript
You might like
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
Python 移动光标位置的方法
2019/01/20 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
检讨书1000字
2014/10/11 职场文书
婚宴父母致辞
2015/07/27 职场文书
小学校本教研总结
2015/08/13 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python