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

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

效果

在这里插入图片描述

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>
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
jQuery金山打字通是一款基于jQuery库开发的打字练习软件。它提供了丰富的练习功能,适合各个年龄段的用户使用。该软件的主要特点如下: 首先,jQuery金山打字通具有丰富的打字练习内容。它提供了多种不同难度级别的练习文本,用户可以选择适合自己的练习内容进行训练。这些练习文本包括了常见的汉字、英文单词和数字等,能够全面提升用户的打字水平。 其次,该软件还提供了实用的练习模式。用户可以选择自由练习模式或者定时练习模式进行训练。自由练习模式不限时间,用户可以按自己的节奏进行练习;而定时练习模式则会限制练习时间,并记录用户的打字速度和错误率,帮助用户更好地评估自己的进步。 此外,该软件还有一系列的辅助功能,提升用户的学习效果。比如,用户可以设置是否显示打字错误的提示,以及自定义字体和背景颜色等界面设置,为用户提供更加舒适的打字体验。 最后,jQuery金山打字通还具备一些社交分享功能。用户可以将自己的成绩分享到社交媒体平台,与其他用户进行交流和比较,激发学习兴趣。 总的来说,jQuery金山打字通是一款功能强大、操作简单的打字练习软件,提供了丰富的练习内容和模式,帮助用户有效提升打字水平。无论是初学者还是有一定打字基础的用户,都可以通过这款软件获得良好的学习效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值