日期:2014-05-16  浏览次数:20298 次

练习打字js

一个练习打字程序,不兼容firefox,原因是自动获得焦点和截获键盘事件不兼容。

?

<html>
 <head>
  <title> 打字练习 </title>
  <script>
	var timer_handle;
	var started=0;

	function creatword()
	{
		var random_word=["A","B","C","D","E","F","G","H","I","J","K","L","M","N",
						 "O","P","Q","R","S","T","U","V","W","X","Z"];
		var index=Math.floor(Math.random()*26);
		document.word.fallword.value="  "+random_word[index]+"  ";
	}

	function fallgo()
	{
		var height=0;
		height=document.word.fallword.style.top.slice(0,-2);
		height=height-1+21;
		if(height>=680)
		{
			alert("you loose!");
			clearInterval(timer_handle);
			started=0;
			document.word.fallword.style.top="30px";
			document.word.fallword.value="ready";
		}
		else
		{
			document.word.fallword.style.top=height+"px";
		}
	}

	function shot()
	{
		if(event.keyCode==13)
		{
			event.keyCode=9;
			if("  "+document.word.inputword.value.toUpperCase()+"  "==document.word.fallword.value)
			{
				document.word.fallword.style.top="30px";
				creatword();
				document.word.inputword.value="";
			}
		}
	}

	function startfall()
	{
		if(started==0)
		{
			timer_handle=setInterval("fallgo();",500);
			creatword();
			started=1;
		}
	}

	function fff()
	{
		document.word.inputword.focus();
	}
  </script>
 </head>

 <body>
	<form name="word">
		<input type="text" name="inputword" style="position:absolute;left:550px;top:700px" onkeydown="shot()" onblur="fff();">
		<input type="button" name="fallword" value="ready" style="position:absolute;left:550px;top:30px"/>
		<input type="button" name="start" value=" 开始 " style="position:absolute;left:600px;top:750px" onclick="startfall();"/>
	</form>
 </body>
</html>