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 相关文章推荐
Javascript中找到子元素在父元素内相对位置的代码
Jul 21 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
Sep 14 Javascript
jQuery语法总结和注意事项小结
Nov 11 Javascript
js利用数组length属性清空和截短数组的小例子
Jan 15 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
Nov 25 Javascript
基于jQuery实现收缩展开功能
Mar 18 Javascript
BootStrap CSS全局样式和表格样式源码解析
Jan 20 Javascript
JS仿Base.js实现的继承示例
Apr 07 Javascript
js实现图片上传并预览功能
Aug 06 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
Apr 02 Javascript
vue中进行微博分享的实例讲解
Oct 14 Javascript
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
.htaccess文件保护实例讲解
2011/02/06 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
asp 的 分词实现代码
2007/05/24 Javascript
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
axios向后台传递数组作为参数的方法
2018/08/11 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
Vue 修改网站图标的方法
2020/12/31 Vue.js
JS实现公告上线滚动效果
2021/01/10 Javascript
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
Python中pillow知识点学习
2018/04/30 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
世界上最大的巴士旅游观光公司:Big Bus Tours
2016/10/20 全球购物
暑假家长评语大全
2014/04/17 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
学生党员检讨书范文
2014/12/27 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
Redis 哨兵集群的实现
2021/06/18 Redis
spring cloud 配置中心native配置方式
2021/09/25 Java/Android