jQuery 写的简单打字游戏可以提示正确和错误的次数


Posted in Javascript onJuly 01, 2014
var off_x; //横坐标 
var count=0; //总分 
var speed=5000; //速度,默认是5秒. 
var keyErro=0; //输入错误次数 
var keyRight=0; //输入正确的次数 

//组织字母 
var charArray=new Array("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 arrCode=new Array(); 
for(var i=65;i<=90;i++){ 
arrCode[i-65]=i; 
} 
//随机生产一个字母 
var randomChar=function(){ 
off_x=Math.random()*500+5; //在div横坐标 
//off_y=Math.random()*500-10; //在div纵坐标 
var c=charArray[parseInt(Math.random()*25)]; //随机生成一个字母 
var charHtml=" <div class='char' id='"+c+"' style='left: "+off_x+"px;color:"+colorBox()+"'>"+c+"</div>"; 
$("#div1").append(charHtml); 
}; 

var colorBox=function(){ 
Color=[]; //用数组存放颜色的样式 
Color[0]="#ff2211"; 
Color[1]="#ff3311"; 
Color[2]="#ff5511"; 
Color[3]="#ff8811"; 
Color[4]="#ffBB99"; 
Color[5]="#1ff4f1"; 
Color[6]="#ff5566"; 
Color[7]="#668899"; 
Color[8]="#99BBfA"; 
Color[9]="#fECECC"; 
return Color[parseInt(Math.random()*10)]; //随机生颜色. 
} 

//每隔三秒就调用些方法生产字母 
function accrueChar(){ 
//把随机出来的放在动画队列里 
var _sildeFun=[ 
//把要执行的动画依次放入一个数组里 
function(){$('#div1 div').animate({top:'+=470px'},speed,function(){ 
//当动画执行完时,就删除 
$(this).remove(); 
count-=10; 
$("input[type='text']").attr({"value":count}); 
});} 
]; 
//将函数组放入slideList动画队列里 
$("#div1").queue('slideList',_sildeFun); 
var _takeStart=function(){ 
//从队列最前端移除一个队列函数,并执行他。 
$("#div1").dequeue("slideList"); 
}; 

function randCharHandle(){ 
randomChar(); 
_takeStart(); 

} 
randCharHandle(); 
} 

//健码的处理 
function keyCode(event){ 
var keyValue = event.keyCode; 
var flag=false; 
//alert(keyValue); 
for(var i=0;i<=arrCode.length;i++){ 
if(keyValue==arrCode[i]&&$("#"+charArray[i]+"").text()!=""){ 

//选对后停止一秒 
$("#"+charArray[i]+"").stop(1000).remove(); 
//选对就加10分 
count+=10; 
$("input[type='text']").attr({"value":count}); 
$("#right").text(keyRight); 

flag=true; 
break; 
} 
} 
if(flag){ 
flag=false; 
keyRight++; 
$("#right").text(keyRight); 

}else{ 
keyErro++; 
$("#erro").text(keyErro); 
} 
} 

$(function(){ 

//加速 
$("input[value='加速++']").click(function(){ 
if(speed>0) 
speed-=1000; 
}); 

//减速 
$("input[value='减速--']").click(function(){ 
speed+=1000; 
}); 


}); 
window.setInterval("accrueChar()",1500);

/*******************************************HTML页面***************************************************/

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<script type="text/javascript" src="../../jQuery/jquery-1.8.3.js"></script> 
<script type="text/javascript" src="test.js"></script> 
<title>打字游戏</title> 
<style type="text/css"> 
#div1{ 
border: 2px red solid; 
width:500px; 
height: 500px; 
background-color: black; 
} 
.char{ 
width: 20px; 
height:20px; 
position:absolute; 
font: 40px; 

} 
</style> 
</head> 
<body onkeypress="keyCode(event)"> 
<div id="div1"> 

</div> 
<div> 
<br>总数:<input type="text" readonly="readonly"> 
<input type="button" value="加速++"> 
<input type="button" value="减速--"> 
<br>错误次数:<label id="erro"></label> 
<br>正确次数:<label id="right"></label> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
两个数组去重的JS代码
Dec 04 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
JS实现很酷的EMAIL地址添加功能实例
Feb 28 Javascript
浅析jquery unbind()方法移除元素绑定的事件
May 24 Javascript
JavaScript实现重力下落与弹性效果的方法分析
Dec 20 Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 Javascript
10分钟上手vue-cli 3.0 入门介绍
Apr 04 Javascript
Vue slot用法(小结)
Oct 22 Javascript
JS实现纵向轮播图(初级版)
Jan 18 Javascript
js实现简单进度条效果
Mar 25 Javascript
ES6 async、await的基本使用方法示例
Jun 06 Javascript
vue2实现provide inject传递响应式
May 21 Vue.js
JavaScript利用正则表达式去除日期中的“-”
Jul 01 #Javascript
jquery实现图片按比例缩放示例
Jul 01 #Javascript
js 实现的可折叠留言板(附源码下载)
Jul 01 #Javascript
JavaScript利用append添加元素报错的解决方法
Jul 01 #Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
Jun 30 #Javascript
Visual Studio中js调试的方法图解
Jun 30 #Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
Jun 30 #Javascript
You might like
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
php json与xml序列化/反序列化
2013/10/28 PHP
php实现短信发送代码
2015/07/05 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
setTimeout()递归调用不加引号出错的解决方法
2014/09/05 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
Python编程中装饰器的使用示例解析
2016/06/20 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
耐克美国官网:Nike.com
2016/08/01 全球购物
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
四年的个人工作自我评价
2013/12/10 职场文书
个人自我鉴定总结
2014/03/25 职场文书
环保小标语
2014/06/13 职场文书
协会周年庆活动方案
2014/08/26 职场文书
大学生实习推荐信
2015/03/27 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
管辖权异议上诉状
2015/05/23 职场文书
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP