首先将要产生的按键存到数组当中,随机产生角标,获得按键,创建标签,添加到屏幕当中,然后获得按键事件,与每一个值进行比较,如果有一样的,则删除,如果没有,则随机添加几个字母,还有经过指定时间,添加合适数量的字母,直到全部删除完,结束。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>打字游戏</title>
<style type="text/css">
#div1{
100%;
background:green;
}
#div1 h2{
float: left;m
color:red;
font-size: 50px;
margin-left:40px;
}
</style>
<script type="text/javascript">
window.onload=function(){
var oDiv=document.getElementById('div1');//获得div元素
var arr=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];//可以添加的元素
var h2s=oDiv.getElementsByTagName('h2');//得到div中的h2标签
var timer;//定义定时器变量
function tianjia(){//添加元素的方法
if(h2s.length!=0){//如果存在h2标签,说明还没有打完,再添加
var suiji=Math.floor(Math.random()*26);//随机产生数组角标
var zimu=arr[suiji];//获得对应角标的字母
var h2=document.createElement('h2');//创建h2标签
h2.innerHTML=zimu;//将内容添加到h2标签中
oDiv.appendChild(h2);//将h2标签添加到div中
}else{
alert('你赢了');//如果没有h2标签了,弹出你赢了
}
}
for(var i=0;i<5;i++){//首先先添加5的元素,在div当中有一个h2标签,才能添加
tianjia();
}
var obtn1=document.getElementById('1');//得到1按钮
obtn1.onclick=function(){//当点击1按钮时
clearInterval(timer);//关闭所有其他定时器
timer=setInterval(tianjia,1000);//每秒执行一次添加函数
}
var obtn2=document.getElementById('2');//同理
obtn2.onclick=function(){
clearInterval(timer);
timer=setInterval(tianjia,500);
}
var obtn3=document.getElementById('3');
obtn3.onclick=function(){
clearInterval(timer);
timer=setInterval(tianjia,330);
}
window.onkeydown=function(e){//键盘按键事件
var result;//定义全局变量
var ev=e||window.event;//获得兼容性事件对象
var jian=String.fromCharCode(ev.keyCode);//将按键的Code值转化为准确按键
for(var j=0;j<h2s.length;j++){//如果有你按下的键,则删除
if(jian==h2s[j].innerHTML){
result=oDiv.removeChild(h2s[j]);
}
}
if(!result){//如果你按的没有这个元素,则添加3个字母
for(var n=0;n<3;n++){
tianjia();
}
}
}
}
</script>
</head>
<body>
每秒增加数量:<input id='1' type="button" value="1"/>
<input id="2" type="button" value="2"/>
<input id="3" type="button" value="3"/>
<div id="div1">
<h2 id="suiji">Q</h2>
</div>
</body>
</html>