html简单打字游戏,javascript实现的简单打字游戏
.label{
position:absolute;left: 0px;
}
var CODE = "QWERTYUIOPASDFGHJKLZXCVBNM";
var codeArray = [];
var number = 0;
//创建随机字母
function createCode(){
//0-25
var index = parseInt(Math.random()*26);
return CODE.charAt(index);
};
//创建显示label方法
function createLabel(code){
/**
*
A
*/
var label = document.createElement("label");
label.className = "label";
label.style.top = "50px";
label.innerHTML = code;
label.code = code;
var html = document.documentElement;
//所有label标签的x坐标
var labelX = parseInt(Math.random()*html.clientWidth);
if(labelX>100){
labelX-=20;
}
label.style.left = labelX+"px";
return label;
}
window.onload = function(){
document.getElementById("startBtn").disabled = false;
//注册键盘事件
document.documentElement.οnkeydοwn=function(event){
var keyCode = event.keyCode; //获取按下的吗
var code = String.fromCharCode(keyCode);//A-Z
for ( var i = 0; i < codeArray.length; i++) {
//label标签
var label = codeArray[i];
if(label.code==code){
clearInterval(label.interval_id);
label.parentNode.removeChild(label);
codeArray.splice(i,1);
number+=10;
document.getElementById("msg").innerHTML = number+"分";
break;
}
}
};
};
//让label标签慢慢的从上向下移动
function runLabelTop(label){
//获取页面的高度
var height = Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight);
label.interval_id = setInterval(function(){
//50px
var top = parseInt(label.style.top);
top+=1;
//判断label是否已经超过页面的高度
if(top>height-30){
removeLabel(label,false);
}else{
label.style.top = top+"px";
}
},10);
}
//flag = false用户没有按下该字母
function removeLabel(label,flag){
clearInterval(label.interval_id);
label.parentNode.removeChild(label);
codeArray.shift();
number-=20;
document.getElementById("msg").innerHTML = number+"分";
}
var game_id = null;
//开始游戏
function startGame(startButton){
startButton.disabled = true;
game_id = setInterval(function(){
//创建要显示的字符
var code =createCode();
//创建一个label显示字符
var label = createLabel(code);
//让label标签慢慢向下移动,修改标签的style.top属性
runLabelTop(label);
//把label标签节加入到页面中
document.body.appendChild(label);
codeArray.push(label);
},1000);
}
//停止游戏
function stopGame(){
clearInterval(game_id);
for ( var i = 0; i < codeArray.length; i++) {
clearInterval(codeArray[i].interval_id);
codeArray[i].parentNode.removeChild(codeArray[i]);
}
codeArray = [];
document.getElementById("startBtn").disabled = false;
}
html简单打字游戏,javascript实现的简单打字游戏相关推荐
- 用html制作简单日历,用javascript实现一个简单的日历
有些时候我们翻看别人的博客的时候,会发现有一个日历面板,可以点击左右按钮查看上下个月的日历,那么这是怎么实现的呢?其实并不难,主要就是用javascript的date()方法. 先看效果图: 具体代码 ...
- html5 打气球小游戏,javascript开发打气球小游戏
web前端群,189394454,有视频.源码.学习方法等大量干货分享 效果知识点:css3画气球, 自定义属性运用,随机阵列, DOM元素操作,高级回调函数与参数复传,动态布局,鼠标事件,定时器运用 ...
- Javascript开发的金山打字简易小游戏
记得以前读书的时候,由于课前都预习过了,所以听课一般都是为了给老师面子很"耐心"的坐在教室里,发着呆走着神.突然,那天上课讲了几天前预习的课题,采用JS可以识别键盘输入,嘿嘿,好玩 ...
- 纯javascript仿金山苹果打字游戏
周末2天在家无聊,女朋友要练打字,一直都是在用金山的苹果打字,哈哈,干脆就自己用JS写一个苹果打字游戏,内容比较简单,本人不会美工,页面没有美化,贴出来跟大家一起学习. 本打字游戏共分10关,第一关: ...
- javascript 代码_如何使您JavaScript代码保持简单并提高其可读性
javascript 代码 by Leonardo Lima 莱昂纳多·利马(Leonardo Lima) 如何使您JavaScript代码保持简单并提高其可读性 (How to keep your ...
- javascript worker 多线程 简单示例
javascript worker 多线程 简单示例 项目结构 主线程 index.html <!DOCTYPE html> <html lang="en"> ...
- 用javascript进行一个简单的机器学习小实例
虽然它可能不是机器学习传统选择的开发语言,但是JavaScript正在证明有能力完成这样的工作--即使它目前还不能与主要的机器学习语言Python竞争.在进一步学习之前,让我们做一下机器学习的介绍. ...
- 浏览器html5/css3兼容性检测的javascript类库 - Modernizr简单介绍
为什么80%的码农都做不了架构师?>>> 日期:2012-4-17 来源:GBin1.com 在线演示 本地下载 大家是不是在开发设计过程中遇到如下情况?某些浏览器不支持H ...
- JavaScript 日期格式化 简单有用
JavaScript 日期格式化 简单有用 代码例如以下,引入jquery后直接后增加下面代码刷新可測试 Date.prototype.Format = function (fmt) { //auth ...
最新文章
- 使用文件操作函数实现:文件的复制功能。
- Tensorflow |(5)模型保存与恢复、自定义命令行参数
- python 数据的读取
- UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定
- 2015年浪潮面试题
- [LeetCode] NO.292 Nim Game
- redis.conf配置文件详解
- MongoTemplate 使用aggregate聚合查询
- 被骗好多年:原来这才是大数据
- Golang的并发模式
- 2013年6月12日星期三
- Centos环境下部署游戏服务器-iptables
- Shiro Spring 集成xml配置
- minicom在macos
- 知乎上的48条神回复,针针见血
- ubuntu删除了python恢复_ubuntu卸载python 后如何修复
- LimeSDR环境的安装
- 程序员之富爸爸穷爸爸思考
- 使用Route报错:A <Route> is only ever to be used as the child of <Routes> element, never rendered directl
- 2021强网杯 ezmath writeup
热门文章
- FFmpeg RTMP推(收)HEVC/H265流 (ijk)
- 得到PCB板子的背景区域
- qq邮箱电脑版登录入口_QQ邮箱被盗了 IP地址显示北京市(网易公司电信节点) 什么鬼 网易邮箱大师也登录不上了...
- 可视化字幕创作软件:Arctime Pro for Mac
- 开源ckplayer 网页播放器, 跨平台 html5 mobile ,flv f4v mp4 rtmp协议
- 智慧灯杆、多功能杆相关标准规范(附下载)
- 欧姆龙NJ系列EDS文件导入
- DD-WRT--让我们的无线路由器用上Linux
- 2020年周数和日期对应表_2020年上海注册会计师考试成绩发布日期
- 曾很火的开源项目:腾讯,MySQL分布式解决方案,你看过没