js实现踩五彩块游戏


Posted in Javascript onFebruary 08, 2020

本文实例为大家分享了js实现踩五彩块游戏的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <link rel="stylesheet" href="demo.css" >
</head>
<body>
 <div class="wrapper">
  <div id = "go">Game Start</div>
  <!-- 运动的dom -->
  <div id="main"></div>
 </div>
 <script src = "demo.js"></script>
</body>
</html>

CSS:

*{
 margin: 0;
 padding: 0;
}
.wrapper{
 position: relative;
 width: 400px;
 height: 600px;
 border: 1px solid black;
 margin :160px auto;
 overflow: hidden;
}
#go{
 position:absolute;
 left:0;
 top: 0;
 width: 100%;
 height: 100px;
 border-bottom: 1px solid #000;
 font-weight: bolder;
 font-size: 60px;
 line-height: 100px;
 text-align: center;
 cursor: pointer;
 z-index: 999;
}
#main{
 position: relative;
 width:400px;
 height: 600px;
 /* border:1px solid red; */
}
.row{
 width: 400px;
 height: 150px;
}
.row div{
 /* 块级元素水平排列 */
 float: left;
 width: 100px;
 height: 150px;
 border: 1px solid #000;
 /* 混杂模式盒模型 */
 box-sizing: border-box;
 /* 最终显示宽度为设定宽度 */
}

js:

// bindEvent显示开始,清除 creatDiv增加一行 move运动 判断胜负 计分
var go = document.getElementById('go');
// 运动趋于
var main = document.getElementById('main');
var timer;
var speed = 5,num = 0,flag = true;

function bindEvent() {
 go.addEventListener('click', function () {
  go.style.display = 'none';
  move();

 });
 main.addEventListener('click',function(e){
  if(flag){
  var tar = e.target;
  if(tar.className == 'tar'){
   tar.style.backgroundColor = '#bbb';
   tar.classList.remove('tar');
   num++;

  }else{
   clearInterval(timer);
   alert('游戏结束吧得分'+num);
   flag = false;
  }
  }

 });

}
bindEvent();
function move() {
 timer = setInterval(function(){
  // 初始位置+速度
  var step = parseInt(main.offsetTop)+speed;
  // 当前位置付给新的top
  main.style.top = step+'px';
  if(parseInt(main.offsetTop)>=0){
   main.style.top = '-150px';
   cDiv();

  }
  // 移除多余的div
  var len = main.childNodes.length;
  if(len == 6){
   var lastRow = main.childNodes[len -1];
   // 是否结束
   for(var i = 0;i<4;i++){
   if(lastRow.childNodes[i].classList.contains('tar')){
    clearInterval(timer);
    alert('游戏结束得分:'+num);
    flag = false;

   }}

   main.removeChild(main.childNodes[len - 1]);

  }

 }
 ,20 );
}
// 创建行和列
function cDiv() {
 // 生成数组颜色
 var color = ['red','blue','green','pink'];
 // 创建一个行
 var oDiv = document.createElement('div');
 // 生成一个随机数
 var index = Math.floor(Math.random()*4);
 // 创建四列
 for (var i = 0; i < 4; i++) {
  // 创建四个列块
  var iDiv = document.createElement('div');
  // 行里面插入列
  oDiv.appendChild(iDiv);

 }
 // 被点击的div 
 var clickDiv = oDiv.childNodes[index];
 clickDiv.setAttribute('class','tar');
 // 颜色随机
 clickDiv.style.backgroundColor = color[index];
 oDiv.setAttribute('class', 'row');
 // 如果行为空则插入,如果不为空则向上插入;
 if (main.childNodes.length == 0) {
  main.appendChild(oDiv);
 } else {
  main.insertBefore(oDiv, main.childNodes[0]);
 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 节点排序 2
Jan 31 Javascript
分享一个常用的javascript静态类
Dec 31 Javascript
基于javascript简单实现对身份证校验
Jan 25 Javascript
jquery UI Datepicker时间控件的使用及问题解决
Apr 28 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
Sep 17 Javascript
关于webpack代码拆分的解析
Jul 20 Javascript
React中上传图片到七牛的示例代码
Oct 10 Javascript
angularjs实现天气预报功能
Jun 16 Javascript
vue中接口域名配置为全局变量的实现方法
Sep 20 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
ES6的解构赋值实例详解
May 06 Javascript
js抽奖转盘实现方法分析
May 16 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 #Javascript
JS实现简易留言板增删功能
Feb 08 #Javascript
原生JS实现留言板功能
Feb 08 #Javascript
javascript实现留言板功能
Feb 08 #Javascript
JavaScript实现PC端横向轮播图
Feb 07 #Javascript
vue更改数组中的值实例代码详解
Feb 07 #Javascript
Vue 一键清空表单的实现方法
Feb 07 #Javascript
You might like
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
Python使用新浪微博API发送微博的例子
2014/04/10 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
Python实现的简单算术游戏实例
2015/05/26 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
python如何实现一个刷网页小程序
2018/11/27 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
python3注册全局热键的实现
2020/03/22 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
大学生的网上创业计划书
2013/12/31 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
化验室岗位职责
2015/02/14 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL