纯js实现重发验证码按钮倒数功能


Posted in Javascript onApril 21, 2015

代码一:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>无标题文档</title> 
<script type="text/javascript" src="js/jquery.js"></script> 
</head> 

<body> 
<input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" /> 
<script type="text/javascript"> 
var countdown=60; 
function settime(val) { 
if (countdown == 0) { 
val.removeAttribute("disabled");  
val.value="免费获取验证码"; 
countdown = 60; 
} else { 
val.setAttribute("disabled", true); 
val.value="重新发送(" + countdown + ")"; 
countdown--; 
} 
setTimeout(function() { 
settime(val) 
},1000) 
} 
</script> 
</body> 
</html>

代码二:

注册的时候需要发送验证激活帐号的邮件,为了避免邮件的多次重复发送,所以可以在点击了发送后,设置button要过一段时间才能继续点击。下面是一个简单的例子:

<html> 
<head> 
<title>点击获取验证码按钮后按钮变灰,倒计时一段时间后又可重复点击</title> 
</head> 
<body> 
<input type="button" id="btn" value="免费获取验证码" /> 
<script type="text/javascript"> 
var wait=60; 
function time(o) { 
    if (wait == 0) { 
      o.removeAttribute("disabled");      
      o.value="免费获取验证码"; 
      wait = 60; 
    } else { 
      o.setAttribute("disabled", true); 
      o.value=wait+"秒后可以重新发送"; 
      wait--; 
      setTimeout(function() { 
        time(o) 
      }, 
      1000) 
    } 
  } 
document.getElementById("btn").onclick=function(){time(this);} 
</script> 
</body> 
</html>
Javascript 相关文章推荐
一个不错的用JavaScript实现的UBB编码函数
Mar 09 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
May 18 Javascript
jquery.validate分组验证代码
Mar 17 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
Aug 29 Javascript
浅谈checkbox的一些操作(实战经验)
Nov 20 Javascript
js图片向右一张张滚动效果实例代码
Nov 23 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
May 17 Javascript
jQuery为动态生成的select元素添加事件的方法
Aug 29 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
Vue axios 将传递的json数据转为form data的例子
Oct 29 Javascript
Vue的全局过滤器和私有过滤器的实现
Apr 20 Javascript
vue实现的多页面项目如何优化打包的步骤详解
Jul 19 Javascript
jQuery滚动条插件nanoscroller使用指南
Apr 21 #Javascript
jQuery验证插件validation使用指南
Apr 21 #Javascript
jQuery拖拽插件gridster使用指南
Apr 21 #Javascript
jQuery弹出层插件Lightbox_me使用指南
Apr 21 #Javascript
jQuery提示插件alertify使用指南
Apr 21 #Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
Apr 20 #Javascript
Jquery遍历Json数据的方法
Apr 20 #Javascript
You might like
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
Jquery之美中不足小结
2011/02/16 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
Vue开发中常见的套路和技巧总结
2020/11/24 Vue.js
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
Python 登录网站详解及实例
2017/04/11 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
基层工作经历证明
2014/01/13 职场文书
一年级评语大全
2014/04/23 职场文书
施工安全生产承诺书
2014/05/23 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
会议接待欢迎标语
2014/10/08 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js