小功能的练习,直接上,代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>时间定时器</title> </head> <body> <input type="button" value="免费获取验证码" onclick="add(this)"> <!-- oncheck绑定的add(this) this表示获取标签里的数据 --> </body> <script> var num = 10; //设置个变量,定时器的初始值 function add(val) { // console.log(val.value) //获取value里的值 // val.setAttribute("disabled", "");//setAttribute("属性",值)表示设置标签的属性和值 disabled属性是禁用 //第一步:判断初始值为1,如果为0的话最后一秒会显示"发送中(0秒)" if (num == 1) { //第五步:removeAttribute删除disabled属性使定时器重新启动,并设置初始值num=10,value= "免费获取验证码" val.removeAttribute("disabled") num = 10; val.value = "免费获取验证码" } else { // 第二步:设置disabled属性 val.setAttribute("disabled", "") // 第三步:倒计时时间--改变标签里value的值 num--; val.value = "发送中(" + num + "秒)" // 第四步:设置定时器重复调用add事件里面每调用一次num-1;直到执行上边的判断 setTimeout(function() { add(val); }, 1000) } } </script> </html>