字母匀速随机下落,键盘按下对应字母按键,字母消失重新生成新字母,新字母可帮助回调一部分初始高度

效果

1.页面内容

列表内放字母

<ul id="box"><li></li><li>A</li></ul>

**

2.页面样式

**
1)清除li园标
2)确定列表位置,为字母随机位置下降准备

*{padding: 0;margin: 0;}#box li{list-style: none;font-size: 100px;}/*确定位置便于下降*/#box{position: absolute;top: 0;left: 0;}

3.判断按的按键

1、键盘按键按下事件

 window.onkeydown=function(e){  }

2、获得兼容性对象

var ev=window.event||e;

3.获得按下的键盘码并转换为对应按键

var key=String.fromCharCode(ev.keyCode);

4.遍历获得列表内容对比

1)循环li标签

for(var i=0;i<list.length;i++){       }

2)内容对比

if(list[i].innerHTML==key){            }

3)相同则删除页面上显示的字母

box.removeChild(list[i]);

5.清除字母后重新生成新的随机字母

1)在字母表中获得随机字母

var num=Math.floor(Math.random()*(all.length-1+1-0)+0);

2)将随机字母加入li中

var new_list=document.createElement('li');

3)给新li进行赋值

new_list.innerHTML=all[num];

4)将新li加入ul中

box.appendChild(new_list);

6.定时字母下落

1)设置定时器

 var time=setInterval(function(){  },1000)

2)方法参考浮动广告博文

7.新字母的位置随机生成

1)消除成功后高度向上缩一部分
2)左右利用随机数生成

var left=Math.floor(Math.random()*(1000-1+1-0)+0);box.style.left=left+"px";

8.源码

<html><head><meta charset="UTF-8"><title></title><style>*{padding: 0;margin: 0;}#box li{list-style: none;font-size: 100px;}/*确定位置便于下降*/#box{position: absolute;top: 0;left: 0;}</style></head><body><ul id="box"><li></li><li>A</li></ul><script>var p=document.getElementById("p");var new_box=document.getElementById("new_box");var box=document.getElementById("box");var all='ABCDEFGHIJQLMEOPQRSTUVWXYZ';window.onkeydown=function(e){
//              获得兼容性对象var ev=window.event||e;
//              获得按下的按键并转换为对应按键var key=String.fromCharCode(ev.keyCode);var list=document.getElementById("box").getElementsByTagName('li');
//              循环li标签,将按键与标签内容进行对比for(var i=0;i<list.length;i++){
//                  内容对比,内容相同则删除页面上显示的字母if(list[i].innerHTML==key){box.removeChild(list[i]);var p_old_top=box.offsetTop;var p_new_top=p_old_top-150;box.style.top=p_new_top+"px";var left=Math.floor(Math.random()*(1000-1+1-0)+0);box.style.left=left+"px";var num=Math.floor(Math.random()*(all.length-1+1-0)+0);
//                  将随机字母加入li中                    var new_list=document.createElement('li');
//                  给新li进行赋值new_list.innerHTML=all[num];
//                  将新li加入ul中box.appendChild(new_list);}}}//          定时器保证下落速度var time=setInterval(function(){
//              获取ul的老位置var old_top=box.offsetTop;
//              计算ul的新位置var new_top=old_top+2;
//              将新值赋值回去box.style.top=new_top+"px";},15)</script></body>
</html>

前端js——金山打字通小游戏(屏幕随机下落字母,获取键盘按键)相关推荐

  1. html获取随机字母,前端js——金山打字通小游戏(屏幕随机下落字母,获取键盘按键)...

    字母匀速随机下落,键盘按下对应字母按键,字母消失重新生成新字母,新字母可帮助回调一部分初始高度 效果 1.页面内容 列表内放字母 A ** 2.页面样式 ** 1)清除li园标 2)确定列表位置,为字 ...

  2. C语言编一个金山打字通小游戏,js实现金山打字通小游戏

    本文实例为大家分享了js实现金山打字通小游戏的具体代码,供大家参考,具体内容如下 字母匀速随机下落,键盘按下对应字母按键,字母消失重新生成新字母,新字母可帮助回调一部分初始高度 效果 1.页面内容 列 ...

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

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

  4. 【Unity2d】带你制作一款类似于金山打字的小游戏

    博主大概08年开始接触电脑游戏,当时玩的是我哥的电脑,那时候家里没网,只可以玩电脑上自带的单机游戏,比如扫雷.蜘蛛纸牌等等,当然还有红色警戒.冰封王座.星际争霸.帝国崛起等等,这些大概是我哥当时在大学 ...

  5. 类似于金山打字的小游戏

    今天信息奥赛课,老师让我们做一道题目.主要是为了了解C语言中的头函数#include<time.h>和#include<conio.h> time头文件测试时间 conio头文 ...

  6. Dev-C++游戏创作之金山打字通(附带音乐)

    Hi!大家好!我是你们的编程小王子 最近一直拖着没更新,因为实在是没什么游戏思路.但是终于搞出来一个 金山打字通相信很多小伙伴们都认识,所以东西我就不多介绍,今天主要讲解音乐的播放(超级简单的)! / ...

  7. 金山打字通2008完整版包含金山打字游戏,网上唯一的

    金山打字通2008 官方正式完整版,网上唯一的,其他都是不完整的.2007,2009版为虚假,官方未出此版. [概括介绍] 金山打字通是一款学习打字软件具有英文打字.拼音打字.五笔打字.打字游戏等功能 ...

  8. 【原生JS】做一个打字消除小游戏,学习摸鱼两不误

    JS打字消除小游戏 话不多说先看效果! 页面布局: CSS样式: JS文件(重点): 话不多说先看效果! JS打字消除游戏 页面布局: <!DOCTYPE html> <html&g ...

  9. 金山打字通生死时速游戏介绍

    金山打字通是一款帮助用户从零开始学习打字的软件,其内置的游戏使打字这一枯燥的活动变得更加有趣.在内置的五款游戏中,属生死时速(又名警察抓小偷)的制作最为精良,可玩性也最高. 设计元素 玩家 角色与特征 ...

最新文章

  1. spring boot socket长连接_springboot 整合阿里 druid 数据库连接池实战
  2. hadoop基本命令
  3. 计算最长公共数字串个数
  4. 数据仓库系列篇——唯品会大数据架构
  5. 远程登录-出现身份验证错误[可能是由于CredSSP加密Oracle修正]
  6. asp.net mvc 路由检测工具
  7. java程序员年龄大了怎么办,互联网行业“中年”危机
  8. 让Office无处不在——Office Web App初体验
  9. angularjs 笔记(1) -- 引导
  10. 数据库学生管理系统课程设计
  11. DWORD WINAPI
  12. js md5加密 无法md5解密
  13. 132,怎样理解帝国和王朝的兴衰
  14. 好用的在线画图工具processon
  15. vscode连接电脑虚拟机上的ubuntu
  16. Google 新推出三款 AI 拍照 App,走过路过不要错过!
  17. 【MAX7800与ESP8266mcu通讯关键字控制】
  18. 使用URDF创建机器人3D仿真模型
  19. CSS实现行高是字号的1.5倍
  20. 众安科技怎样帮助企业建设统一运维监控平台

热门文章

  1. 实时协作文档编辑器Etherpad
  2. 个人电子邮箱如何在网页进行登录?
  3. 中层管理者应该做什么?
  4. Windows无法安装信任证书
  5. MySQL-老杜学习笔记
  6. Unity XR开发之入门介绍(一)
  7. C++算法复习之深度优先搜索(dfs)与解救小扣题解
  8. ncbi blast MATLAB,NCBI在线BLAST使用方法与结果详解
  9. 西瓜播放器xgplayer设置自动播放
  10. HBaseCon亚洲2018峰会盛大开幕 阿里带你洞悉HBase大数据生态最新发展和行业实践