小功能的练习,直接上,代码如下:
<!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>