浏览器
双核浏览器
游戏浏览器
高速浏览器
视频浏览器
IE浏览器
浏览器周边
手机浏览器
安卓游戏
音乐舞蹈
养成游戏
儿童游戏
仙侠手游
角色扮演
策略塔防
休闲益智
动作冒险
飞行射击
模拟经营
体育运动
赛车竞速
网络游戏
安卓软件
资讯阅读
生活服务
影音播放
购物理财
效率办公
趣味娱乐
交通出行
学习教育
摄影图像
在线音乐
系统工具
网络购物
聊天工具
安全杀毒
图片编辑
新闻资讯
软件资讯
游戏资讯
手机教程
手游攻略
游戏攻略
软件教程
IE专区
安卓专题
文章合集
电脑软件专题
安全软件
杀毒软件
系统安全
加密解密
防火墙
远程控制
木马查杀
影音软件
网络电视
视频播放
音乐播放
视频制作
音频编辑
录音录像
教育学习
外语学习
教育管理
早教启蒙
在线课堂
成人教育
资格考试
聊天社交
即时通讯
视频聊天
在线交友
变声器
表情包
办公软件
线上会议
文档管理
行业管理
考勤打卡
应用工具
输入法
下载工具
时钟日历
记事本
文件管理
计算器
编程开发
编程工具
JAVA相关
加壳脱壳
编程控件
数据库
网页源码
软件开发
补丁制作
系统美化
桌面制作
壁纸大全
系统主题
屏幕保护
桌面辅助
系统软件
系统优化
备份还原
系统检测
U盘工具
磁盘工具
驱动补丁
图文处理
图片素材
图像处理
图片制作
图片压缩
电子相册
抓图工具
其他软件
电子书籍
模拟器
辅助工具
交通出行
手机管理
其他工具
素材下载
字体素材
PPT素材
专区
文章合集
软件
游戏
浏览器
安卓专题
软件
游戏
浏览器
IEfans/ IE专区/ IE技巧 /原生JS实现别踩白块游戏(兼容IE)

原生JS实现别踩白块游戏(兼容IE)

2020-08-05 09:25:43 编辑:匿名

兼容了IE,每得20分就加速一次!!!

效果如下:

原生JS实现《别踩白块》游戏(兼容IE)

图(1) 游戏初始

原生JS实现《别踩白块》游戏(兼容IE)

图(2) 游戏开始

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
*{ margin: 0; padding: 0; }
.box {
margin: 50px auto 0 auto;
width: 400px;
height: auto;
border: solid 1px #222;
}
#cont {
width: 400px;
height: 600px;
position: relative;
overflow: hidden;
}
#go {
width: 100%;
height: 600px;
position: absolute;
top: 0;
font: 700 60px '微软雅黑';
text-align: center;
z-index: 99;
}
#go span {
cursor: pointer;
background-color: #fff;
border-bottom: solid 1px #222;
}
#main {
width: 400px;
height: 600px;
position: relative;
top: -150px;
}
.row {
width: 400px;
height: 150px;
}
.row div {
width: 99px;
height: 149px;
border: solid 1px #222;
float: left;
border-top-width: 0;
border-left-width: 0;
cursor: pointer;
}
#count {
border-top: solid 1px #222;
width: 400px;
height: 50px;
font: 700 36px/50px '微软雅黑';
text-align: center;
}
</style>
</head>
<body>
<div class="box">
<!-- 布局 -->
<div id="cont">
<div id="go">
<span>Game start</span>
</div>
<div id="main">
</div>
</div>
<div id="count"></div>
</div>
</body>
<script>
//得当前样式
function getStyle(obj,arrt){
//兼容IE
return obj.currentStyle ? obj.currentStyle[arrt] : getComputedStyle(obj,null)[arrt];
}
var main = document.getElementById('main');
var go = document.getElementById('go');
var count = document.getElementById('count');
var cols = ['#1AAB8A','#E15650','#121B39','#80A84E'];
//动态创建div
function cDiv(classname){
//创建div
var oDiv = document.createElement('div');
//随机值
var index = Math.floor(Math.random()*4);
//行 添加相应的class类
oDiv.className = classname;
//创建行之后再动态创建4个小div并添加到行里面
for(var j =0;j<4;j++){
var iDiv = document.createElement('div');
【—TAG360—】oDiv.appendChild(iDiv);
}
//然后把行添加到main里面
//判断需要添加的位置
if(main.children.length == 0){
main.appendChild(oDiv);
}else {
main.insertBefore(oDiv, main.children[0]);
}
//随机给行里面的某一个div添加背景色
oDiv.children[index].style.backgroundColor = cols[index];
//标记颜色盒子
oDiv.children[index].className = "i";
}
//移动div
function move(obj){
//关闭上一个定时
clearInterval(obj.timer);
//默认速度与计分
var speed = 5,num = 0;
//定时器管理与开启定时器
obj.timer = setInterval(function(){
//速度
var step = parseInt(getStyle(obj,'top')) + speed;
//移动盒子
obj.style.top = step + 'px';
//判断并创建新的盒子
if(parseInt(getStyle(obj,'top')) >= 0){
cDiv('row');
obj.style.top = -150 + 'px';
}
//删除边界外的盒子
if(obj.children.length == 6){
//删除前,如果有盒子没有点击则结束游戏
for(var i = 0;i<4;i++){
if(obj.children[obj.children.length - 1].children[i].className == 'i'){
//游戏结束
obj.style.top = '-150px';
count.innerHTML = '游戏结束,最高得分: ' + num;
//关闭定时器
clearInterval(obj.timer);
//显示开始游戏
go.children[0].innerHTML = 'Renew game';
go.style.display = "block";
}
}
obj.removeChild(obj.children[obj.children.length - 1]);
}
//点击与计分
obj.onclick = function(event){
//点击的不是白盒子
// 兼容IE
event = event || window.event;
if((event.target? event.target : event.srcElement).className == 'i'){
//点击后的盒子颜色
(event.target? event.target : event.srcElement).style.backgroundColor = "#bbb";
//清除盒子标记
(event.target? event.target : event.srcElement).className = '';
//计分
num++;
//显示得分
count.innerHTML = '当前得分: ' + num;
}else {
//游戏结束
obj.style.top = 0;
count.innerHTML = '游戏结束,最高得分: ' + num;
//关闭定时器
clearInterval(obj.timer);
//显示开始游戏
go.children[0].innerHTML = 'Renew game';
go.style.display = "block";
}
//盒子加速
if(num%20 == 0){
speed++;
}
}
},20)
}
//开始游戏
go.children[0].onclick = function(){
//开始前判断main里面是否有盒子,有则全部删除
if(main.children.length){
//暴力清楚main里面所有盒子
main.innerHTML = '';
}
//清空计分
count.innerHTML = '游戏开始';
//隐藏开始盒子
this.parentNode.style.display = "none";
//调用定时器
move(main);
}
</script>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持iefans网!

相关推荐

浏览器更新