注册协议阅读倒计时按钮可用代码
大家可能见过这样的效果,就是当注册账号的时候,需要同意指定的协议,并且为了让用户认真阅读,采用了倒计时策略,一般是倒计指定时间之后注册按钮才是可用的,下面就通过代码实例介绍一下如何实现此功能。
代码如下:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.pipipi.net/" /> <title>前端教程网</title> <style type="text/css"> #btn { width:200px; height:50px; background -color:gary; } </style> <script type="text/javascript"> onload=function (){ var btn = document.getElementById('btn'); var intervalId = setInterval(function () { var waitSecond = parseInt((/\d+/).exec(btn.value)); waitSecond--; if (waitSecond >= 0) { btn.value=btn.value.replace(/\d+/, waitSecond) } else { btn.value = '同意'; btn.disabled = false; clearInterval(intervalId); } }, 1000); }; </script> </head> <body> <input type="button" value="请仔细阅读5秒后点击同意继续" id="btn" disabled="disabled"/> </body> </html>
以上代码实现了我们的要求,按钮在五秒之后才是可用的,下面介绍一下它的实现过程。
一.代码注释:
1.onload=function (){},当稳当内容完全加载完毕再去执行函数中的代码,这里是省略了window。
2.var btn = document.getElementById('btn'),获取按钮对象。
3.var intervalId = setInterval(function () { },1000),每隔1000毫秒也就是1秒执行一次函数。
4.var waitSecond = parseInt((/\d+/).exec(btn.value)),用正则表达式提取按钮value属性值中的数字。
5.waitSecond--,秒数减一。
6.if (waitSecond >= 0) {btn.value=btn.value.replace(/\d+/, waitSecond) } ,如果秒数大于零的话,则将按钮中的数字替换为减一后的数字,也就是继续执行递减操作。
7.else { btn.value = '同意';btn.disabled = false;clearInterval(intervalId);} ,否则将按钮value值修改为"统一",并且将按钮设置为可用,停止定时器函数的运行。
二.相关阅读:
1.setInterval()函数可以参阅setInterval()一章节。
2.parseInt()函数可以参阅javascript parseInt()一章节。
3.exec()函数可以参阅正则表达式exec()函数一章节。
4.replace()函数可以参阅正则表达式replace()函数一章节。
5.disabled属性可以参阅javascript button.disabled一章节。
6.clearInterval()函数可以参阅clearInterval()一章节。