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 相关文章推荐
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 Javascript
Javascript 错误处理的几种方法
Jun 13 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
Aug 07 Javascript
AngularJS基础知识
Dec 21 Javascript
js全选实现和判断是否有复选框选中的方法
Feb 17 Javascript
javascript 判断两个日期之差的示例代码
Sep 05 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
解决vue-cli + webpack 新建项目出错的问题
Mar 20 Javascript
angular4 共享服务在多个组件中数据通信的示例
Mar 30 Javascript
用ES6写全屏滚动插件的示例代码
May 02 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
Apr 07 Javascript
js之切换全屏和退出全屏实现代码实例
Sep 09 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
提高PHP编程效率的53个要点(经验小结)
2010/09/04 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
php中file_exists函数使用详解
2015/05/08 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
JavaScript基本对象
2007/01/11 Javascript
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
python 初始化一个定长的数组实例
2019/12/02 Python
在python shell中运行python文件的实现
2019/12/21 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
新闻编辑自荐信
2013/11/03 职场文书
意向协议书范本
2014/04/23 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
计划生育个人总结
2015/03/02 职场文书
离婚起诉书范本
2015/05/18 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL