传智打字游戏

.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实现的简单打字游戏相关推荐

  1. 用html制作简单日历,用javascript实现一个简单的日历

    有些时候我们翻看别人的博客的时候,会发现有一个日历面板,可以点击左右按钮查看上下个月的日历,那么这是怎么实现的呢?其实并不难,主要就是用javascript的date()方法. 先看效果图: 具体代码 ...

  2. html5 打气球小游戏,javascript开发打气球小游戏

    web前端群,189394454,有视频.源码.学习方法等大量干货分享 效果知识点:css3画气球, 自定义属性运用,随机阵列, DOM元素操作,高级回调函数与参数复传,动态布局,鼠标事件,定时器运用 ...

  3. Javascript开发的金山打字简易小游戏

    记得以前读书的时候,由于课前都预习过了,所以听课一般都是为了给老师面子很"耐心"的坐在教室里,发着呆走着神.突然,那天上课讲了几天前预习的课题,采用JS可以识别键盘输入,嘿嘿,好玩 ...

  4. 纯javascript仿金山苹果打字游戏

    周末2天在家无聊,女朋友要练打字,一直都是在用金山的苹果打字,哈哈,干脆就自己用JS写一个苹果打字游戏,内容比较简单,本人不会美工,页面没有美化,贴出来跟大家一起学习. 本打字游戏共分10关,第一关: ...

  5. javascript 代码_如何使您JavaScript代码保持简单并提高其可读性

    javascript 代码 by Leonardo Lima 莱昂纳多·利马(Leonardo Lima) 如何使您JavaScript代码保持简单并提高其可读性 (How to keep your ...

  6. javascript worker 多线程 简单示例

    javascript worker 多线程 简单示例 项目结构 主线程 index.html <!DOCTYPE html> <html lang="en"> ...

  7. 用javascript进行一个简单的机器学习小实例

    虽然它可能不是机器学习传统选择的开发语言,但是JavaScript正在证明有能力完成这样的工作--即使它目前还不能与主要的机器学习语言Python竞争.在进一步学习之前,让我们做一下机器学习的介绍. ...

  8. 浏览器html5/css3兼容性检测的javascript类库 - Modernizr简单介绍

    为什么80%的码农都做不了架构师?>>>    日期:2012-4-17  来源:GBin1.com 在线演示  本地下载 大家是不是在开发设计过程中遇到如下情况?某些浏览器不支持H ...

  9. JavaScript 日期格式化 简单有用

    JavaScript 日期格式化 简单有用 代码例如以下,引入jquery后直接后增加下面代码刷新可測试 Date.prototype.Format = function (fmt) { //auth ...

最新文章

  1. 使用文件操作函数实现:文件的复制功能。
  2. Tensorflow |(5)模型保存与恢复、自定义命令行参数
  3. python 数据的读取
  4. UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定
  5. 2015年浪潮面试题
  6. [LeetCode] NO.292 Nim Game
  7. redis.conf配置文件详解
  8. MongoTemplate 使用aggregate聚合查询
  9. 被骗好多年:原来这才是大数据
  10. Golang的并发模式
  11. 2013年6月12日星期三
  12. Centos环境下部署游戏服务器-iptables
  13. Shiro Spring 集成xml配置
  14. minicom在macos
  15. 知乎上的48条神回复,针针见血
  16. ubuntu删除了python恢复_ubuntu卸载python 后如何修复
  17. LimeSDR环境的安装
  18. 程序员之富爸爸穷爸爸思考
  19. 使用Route报错:A <Route> is only ever to be used as the child of <Routes> element, never rendered directl
  20. 2021强网杯 ezmath writeup

热门文章

  1. FFmpeg RTMP推(收)HEVC/H265流 (ijk)
  2. 得到PCB板子的背景区域
  3. qq邮箱电脑版登录入口_QQ邮箱被盗了 IP地址显示北京市(网易公司电信节点) 什么鬼 网易邮箱大师也登录不上了...
  4. 可视化字幕创作软件:Arctime Pro for Mac
  5. 开源ckplayer 网页播放器, 跨平台 html5 mobile ,flv f4v mp4 rtmp协议
  6. 智慧灯杆、多功能杆相关标准规范(附下载)
  7. 欧姆龙NJ系列EDS文件导入
  8. DD-WRT--让我们的无线路由器用上Linux
  9. 2020年周数和日期对应表_2020年上海注册会计师考试成绩发布日期
  10. 曾很火的开源项目:腾讯,MySQL分布式解决方案,你看过没