<div class="box"><div id="grid1" class="grid">电信优惠卷</div><div id="grid2" class="grid">谢谢惠顾</div><div id="grid3" class="grid">奖品3</div><div id="grid8" class="grid">奖品8</div><div class="grid"><button id="btn" onclick="clickStart()">开始抽奖</button></div><div id="grid4" class="grid">奖品4</div><div id="grid7" class="grid">奖品7</div><div id="grid6" class="grid">奖品6</div><div id="grid5" class="grid">奖品5</div><audio src=""></audio>
</div>
<h1 id="info"></h1>
function clickStart(){//1. 只要开始抽奖就应该把之前的所有光全部移除掉for(let i = 1; i < 9; i++){document.getElementById('grid' + i).style.backgroundColor = '';}//清空所有光标//2. 点击多次产生多个定时器,每次开始就禁用按钮document.getElementById('btn').disabled = true;//模拟与服务器通信,拿到后台返回的中奖索引(产生1-8)let starIndex = Math.floor(Math.random() * 8) + 1;let id = 1  let count = 0   //已经跑过的轮数//启动一个定时器,开始跑灯let timer = setInterval(() => {let grid = document.getElementById('grid' + id);// 获取1个DOM元素,改变背景色or边框grid.style.backgroundColor = 'tomato'; // 给格子加背景色,表示亮灯// 清除掉上一轮的格子颜色!!!如果是第一个格子,直接清除第八个,否则-1取上一个document.getElementById('grid' + (id==1 ? 8: id-1) ).style.backgroundColor = '';//当前跑动到第四轮,并且id==中奖id 停止if(count == 3 && id == starIndex){//已经在第四轮的转动中并且当前转动的格子ID === 中奖格子IDclearInterval(timer);//设置奖品信息到文本中document.getElementById('info').innerHTML += '中奖信息:' + grid.innerHTML;//让按钮可以再次点击document.getElementById('btn').disabled = false;return}//每取一次id +1id++  //9//id尾界判断,因为总共只有8个格子if(id > 8){id = 1 ; //已经到了第八个格子,重新从第一个开始count++ ; //轮数+1}}, 200)}

原生JS制作抽奖小游戏相关推荐

  1. 如何用html5制作抽奖游戏,原生js实现抽奖小游戏

    这个小游戏可以设置为抽奖小游戏,也可以设置为随机点名器,这个软件实现可以多次获取同一个元素的 1.HTML结构代码如下: 开始点名 停止 幸运的的你 2.css样式设置页面代码如下: css代码不仅仅 ...

  2. 使用 cocos creator 3.0 制作抽奖小游戏

    使用 cocos creator 3.0 制作抽奖小游戏 描述 一个抽奖小游戏demo, 点击 抽奖按钮 进行抽奖, 抽完奖后该结果置灰.下一次抽奖就会跳过已经抽过的奖项. 注意: 每次点击 抽奖按钮 ...

  3. android 数字滚动抽奖_2020年会必备,Excel轻松制作抽奖小游戏

    不知不觉就到了年底,新的一年即将从明天开始.时光流逝,不禁让人感慨万千. 当然在这个时间大家应都在期待着年终奖.年会吧.今天我想和大家分享一个Excel制作的抽奖小游戏,可以一次抽一人也可以一次抽多人 ...

  4. 利用js实现抽奖小游戏

    这次依然是大大的js干货,不知道大家有没有看到过类似下面这种抽奖小游戏: 这种小游戏实现的原理是什么呢?我们该怎样使用学习过的js知识来实现这个小游戏呢?你别一看到"利用js实现游戏&quo ...

  5. 原生js 实现2048小游戏

    2048小游戏 首先2048小游戏离不开16个格子,我们通过html和css创建好对应的标签和样式, 然后开始js逻辑 <div id="box">//一个盒子里面16 ...

  6. 原生js做h5小游戏之打砖块

    前言 首先,先说明一下做这个系列的目的:其实主要源于博主希望熟练使用 canvas 的相关 api ,同时对小游戏的实现逻辑比较感兴趣,所以希望通过这一系列的小游戏来提升自身编程能力:关于 es6 语 ...

  7. 原生JS实现2048小游戏

    前几天玩了一款2048微信小程序,结果脑子一抽,想到了为什么不能自己用JS写一个 于是,下面这个玩意儿就诞生了... 实现思路大概是这样的,首先使用table表格完成页面布局,其次使用JS实现数字动态 ...

  8. 原生js完成拼图小游戏

    废话不说,看代码,图片可以自己找,我这直接引用了百度的了 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/x ...

  9. html5猜数字游戏代码,js猜数字小游戏的简单实现代码

    复制代码 代码如下: 简易计算机 //获取随机数 function GetRandomNum(Min,Max) { var Range = Max - Min; var Rand = Math.ran ...

最新文章

  1. linux tcp阻塞socket recv接收数据 未达到指定长度返回问题
  2. boost::log模块实现logging旋转文本文件的示例
  3. antisamy java_antisamy的使用方法
  4. 20-50k,杭州小影科技社招
  5. 用40年前的电脑打开女神图片,这你敢信?
  6. linux反编译java_linux系统上如何反编译.class文件
  7. 百度的“知心搜索”揭秘
  8. rust连接不上社区服务器 显示超过时间,rust链接服务器超时
  9. 使用Driftnet通过Wifi Pumpkin捕获移动图像
  10. Ubuntu18.04与RTX1080Ti安装深度学习框架
  11. 【重识前端】闭包与模块
  12. NISP一级考试题目复习
  13. Educoder -Java面向对象-Java语言之数组(第1关:数组的遍历:给小朋友分糖果)
  14. 深入理解java虚拟机-java虚拟机的
  15. OpenCL学习笔记一
  16. EXCEL文件(xlsx)的读取与data的写入
  17. Asc、AscB、AscW
  18. 做一个展示型企业网站要多少钱
  19. 陆金所-稳盈-安e+ 新标-QQ自动通知
  20. 使用ffmpeg生成各种背景色的视频

热门文章

  1. 前端开发工具HbuilderX的使用技巧
  2. IE7兼容and工作总结
  3. MT6169 RF System Datasheet资料介绍
  4. Lingo学习笔记(一)——语法入门
  5. 网络监测机器人 设备自动监测软件c#
  6. Oracle 到 GP 部分函数转换
  7. 基于典型相关性分析(CCA)的多视图学习方法综述
  8. 大学教育和IT培训有何区别?
  9. 【浅墨Unity3D Shader编程】之六 暗黑城堡篇: 表面着色器(Surface Shader)的写法(一)
  10. Framebuffer应用开发