一个练习打字程序,不兼容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>