五秒获取验证码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<div>
		<input type="text">
		<button>获取验证码</button>
		<div>5秒后获取一个验证码</div>
	</div>
	<script >
	// 1、获取按钮的id
	// 2、点击触发函数;打开间歇式调用,
	// 3、进入函数让变量count由60往下自减;背景灰色
	// 4、时间过完回复红色;
	var btn=document.getElementsByTagName("button");
	// var count=60;
	// var time=null;
	// btn[0].style.background="red";
	// btn[0].style.color="white";
	// btn[0].onclick=function()
	// {
	// 	if(!time)//解决bug
	// 	{
	// 		time=setInterval(fun,200);
	// 		//打开定时器-进行间歇调用
	// 	}
	// }
	// function fun()
	// {
	// 	count--;//让count从60开始自减
	// 	if(count<0)//如果自减到小于0;
	// 	{
	// 		btn[0].innerText="获取验证码";
	// 		btn[0].style.background="red";
	// 		//让按钮回复原状
	// 		btn[0].style.color="white";
	// 		clearInterval(time);
	// 		time=null;
	// 		//清除间歇式调用并将变量time中的id清除;
	// 		count=60;
	// 		//让count回复到60;
	// 	}
	// 	else
	// 	{
	// 		//btn[0].onclick=null;
	// 		btn[0].innerText=count+"秒后重新获取验证码";
	// 		//在自减时让时间变化‘
	// 		btn[0].style.background="grey";
	// 		//背景色为灰色;
	// 	}
	// }
	//-----------------点击5秒后获取验证码;
	// 1、获取到这个div;
	// 2、设置变量time=null;防止点击变快;
	// 3、点击触发函数;并打开开关;
	// 4、或验证码;
	var  div=document.getElementsByTagName("div");
	var time=null;
	div[0].onclick=function()
	{
		if(!time)
		{
			time=setTimeout(function(){
				fun(5);
			},5000);
			//5秒之后调用函数fun并传递参数5;
		}
	}
	// ---开始函数部分
	function fun(n)//用n接收参数获取验证码;
	{
		var str="QWERTYUIOPASDFGHJKLZXCVBNM";
		var newstr="";
		for(var i=0;i<n;i++)
		{
			var ind=Math.floor(Math.random()*str.length);
			//每循环过来一次,获取一个字符串下标范围的数字
			newstr+=str[ind];
			//用获取到的随机数字做下标,将得到的字符放入
			//新串中;
		}
		div[0].innerText=newstr;
		clearInterval(time);
		time=null;
		//清除间歇调用并将time清空;
		//便于下一次点击;只有time变空后才能触发下一次点击;

	}
	</script>
</body>
</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值