JS自动倒计时30秒后按钮才可用(两种场景)


Posted in Javascript onAugust 31, 2015

展示效果图:

JS自动倒计时30秒后按钮才可用(两种场景)

WEB开发中经常会用到倒计时来限制用户对表单的操作,比如希望用户在一定时间内看完相关协议信息才允许用户继续下一步操作,又比如在收取手机验证码时允许用户在一定时间过后(未收到验证码的情况下)再次获取验证码。那么今天我来给大家介绍下如何使用Javascript来实现这一简单应用。

    查看演示 下载源码

应用场景1:用户注册时阅读完相关协议信息后才能激活按钮

某些网站注册时要求用户同意所谓的用户协议之类的信息,如果协议内容非常重要,有些网站会要求新注册的用户一定要阅读完相关协议信息才能激活下一步按钮提交表单。为了让用户能阅读完协议信息(实际用户有没有真正阅读咱不知道),开发者会设计一个倒计时比如30秒,30秒过后,表单提交按钮才会激活生效,下面来看具体如何实现。

<form action="https://3water.com/" method="post" name="agree"> 
 <input type="submit" class="button" value="请认真查看<服务条款和声明> ()" name="agreeb"> 
</form>

假设有上面这样一个表单,表单的其他部分我们省略,只有一个提交按钮,初始时按钮不可用,当显示30秒倒计时结束后,按钮就会显示“我同意”,并且可以点击激活。

我们用原生的js来实现这一效果:

<script> 
var secs = ; 
document.agree.agreeb.disabled=true; 
for(var i=;i<=secs;i++) { 
 window.setTimeout("update(" + i + ")", i * ); 
} 
function update(num) { 
 if(num == secs) { 
 document.agree.agreeb.value =" 我 同 意 "; 
 document.agree.agreeb.disabled=false; 
 } 
 else { 
 var printnr = secs-num; 
 document.agree.agreeb.value = "请认真查看<服务条款和声明> (" + printnr +")"; 
 } 
} 
</script>

我们设置时间为30秒,当然你也可以设置你想要的时间,将按钮禁用,也就是不可点击,然后循环30秒,通过window.setTimeout调用update()函数,将当前秒与倒计时对比,如果已经倒计时完成则显示“我同意”,并激活按钮。

应用场景2:用户激活短信通道向用户手机发送验证码短信以验明正身

很多网站在验证用户身份的时候需要提高用户信息的安全性,这样就会与用户手机绑定,于是就会向用户手机发送验证码信息,如果用户填写了正确的验证码提交后台,那么操作才会成功。而发送验证码也可能由于各种原因有发送不成功的情况,又不能让用户不停点击发送。如此开发者使用倒计时来处理这类问题,用户激活短信后,如果30秒后未收到验证码短信则可以再允许点击发送短信。

<form action="https://3water.com/" method="post" name="myform"> 
 <input type="button" class="button" value="获取手机验证码" name="phone" onclick="showtime()"> 
</form>

上面的表单在按钮上添加了一个onclick事件,调用了showtime()函数。

<script> 
function showtime(t){ 
 document.myform.phone.disabled=true; 
 for(i=;i<=t;i++) { 
 window.setTimeout("update_p(" + i + ","+t+")", i * ); 
 } 
 
} 
function update_p(num,t) { 
 if(num == t) { 
 document.myform.phone.value =" 重新发送 "; 
 document.myform.phone.disabled=false; 
 } 
 else { 
 printnr = t-num; 
 document.myform.phone.value = " (" + printnr +")秒后重新发送"; 
 } 
} 
</script>

和场景1一样,当点击按钮后,按钮状态为禁用,通过调用window.setTimeoutupdate_p()显示倒计时,当倒计时完成后,按钮显示“重新发送”,这时按钮状态为可用。

以上通过两种场景给大家展示了js实现自动倒计时30秒后按钮才可用,希望对大家有所帮助。

Javascript 相关文章推荐
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
Dec 07 Javascript
javascript比较两个日期相差天数的方法
Jul 23 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
JavaScript实现点击单元格改变背景色的方法
Feb 12 Javascript
Javascript中浏览器窗口的基本操作总结
Aug 18 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
Nov 07 Javascript
easyui-datagrid特殊字符不能显示的处理方法
Apr 12 Javascript
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
js实现通过开始结束控制的计时器
Feb 25 Javascript
JS实现的简单tab切换功能完整示例
Jun 20 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
js实现黑色简易的滑动门网页tab选项卡效果
Aug 31 #Javascript
jquery实现点击变换导航样式的方法
Aug 31 #Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
Aug 31 #Javascript
js实现TAB切换对应不同颜色的代码
Aug 31 #Javascript
Bootstrap的图片轮播示例代码
Aug 31 #Javascript
jQuery实现鼠标滑过点击事件音效试听
Aug 31 #Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
Aug 31 #Javascript
You might like
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
原生js 秒表实现代码
2012/07/24 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
JS document对象简单用法完整示例
2020/01/14 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
轻松制作精彩视频:Animoto
2018/09/19 全球购物
《影子》教学反思
2014/02/21 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
七夕情人节促销方案
2014/06/07 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
房屋认购协议书
2015/01/29 职场文书
教师个人教学总结
2015/02/11 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
新年寄语2016
2015/08/17 职场文书
科级干部培训心得体会
2016/01/06 职场文书