JS实现一个简单的抽奖系统
来源:互联网 发布:怎么阻止软件自动更新 编辑:程序博客网 时间:2024/06/10 05:01
本文主要介绍如何通过js中的setInterval()函数实现一个抽奖系统。在该系统中,我们不只是可以通过点击按钮来进行操作,还可以通过敲击键盘来进行操作。这里主要涉及到js中的事件处理程序,用到了onkeyup()函数来进行键盘事件的触发。下面介绍一下主要的实现过程。
1.首先,我们需要建立一个html文件,在该文件中,我们主要写入抽奖区域和两个按钮(一个开始按钮,一个结束按钮)。其中使用到了bootstrap中的buttons插件,美化按钮效果。代码如下:
keyEvent.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>抽奖系统</title> <link href="http://cdn.bootcss.com/bootstrap/4.0.0-alpha.2/css/bootstrap.css" rel="stylesheet"> <link href="http://cdn.bootcss.com/Buttons/2.0.0/css/buttons.min.css" rel="stylesheet"> <link rel="stylesheet" href="keyEvent.css"> <script src="http://cdn.bootcss.com/jquery/3.0.0-rc1/jquery.min.js"></script> <script src="http://cdn.bootcss.com/Buttons/2.0.0/js/buttons.min.js"></script> <script src="keyEvent.js"></script></head><body> <div id="title" class="title"> 开始抽奖啦 </div> <div class="btns"> <button class="button button-raised button-primary button-pill" id="play">开始</button> <button class="button button-raised button-primary button-pill" id="stop">停止</button> </div></body></html>
2.加入了keyEvent.css文件来修饰页面及按钮样式,代码如下:
keyEvent.css
*{ margin: 0; padding: 0;}.title{ width: 400px; height: 100px; line-height: 100px; text-align: center; margin: 0 auto; font-size: 24px; font-weight: bold; color:red;}.btns{ width: 400px; height: 100px; margin: 0 auto; text-align: center;}
3.下面就是最重要的js文件了。在这个文件中,我们将奖项初始化在一个名为data的数组里面,然后初始化一个计时器,并且初始化一个标识符flag,其初始值为0,主要用来判断用户第一次按下空格键时为开始操作,再按一次为结束操作,以此循环,因此flag只有0和1两个值,代表着两种状态。当点击开始按钮后,我们需将开始按钮设置为禁用状态,这里主要通过play.disabled=true;这条语句进行实现。其代码如下所示:
keyEvent.js:
var data=['iphone6','iphone 6s','单反相机','ipad','mac book','三星手机','小米手机','魅族手机','谢谢参与'];var timer=null;var flag=0;window.onload=function(){ var title=document.getElementById('title'); var play=document.getElementById('play'); var stop=document.getElementById('stop'); // 点击开始按钮时,调用playFun函数 play.onclick=playFun; // 结束 stop.onclick=stopFun; // 键盘事件 document.onkeyup=function(event){ //打印出键盘的键值 console.log(event.keyCode); //通过上一句可以知道,空格键的键值为32 if(event.keyCode==32){ if(flag==0){ playFun(); flag=1; }else{ stopFun(); flag=0; } } }}//开始抽奖function playFun(){ clearInterval(timer); timer=setInterval(function(){ var random=Math.floor(Math.random()*data.length); console.log(data[random]); title.innerHTML=data[random]; },50); play.disabled=true;}//结束抽奖function stopFun(){ clearInterval(timer); play.disabled=false;}
4.最终实现效果如图所示:
0 0
- JS实现一个简单的抽奖系统
- 简单的抽奖系统实现
- 一个简单的html抽奖
- 大型抽奖系统的实现
- 一个简单的抽奖转盘游戏
- 一个非常简单的抽奖游戏
- 使用JAVASCRIPT写的一个抽奖系统
- JavaScript写一个简易的抽奖系统
- js抽奖系统
- JS实现转动随机数抽奖的特效代码
- 设计一个抽奖系统
- java实现简单的抽奖游戏
- 圆盘抽奖的界面简单实现
- 用C#简单的实现双色球抽奖
- 保底抽奖程序的简单实现
- MFC实现简单的,会抽奖程序
- QT实现简单的抽奖界面
- 如何实现一个抽奖的算法
- 常用docker命令,及一些坑
- 怎么才能线程安全?
- 重新创建Activity
- appium 环境搭建
- Java设计模式(十一):外观模式(门面模式)Facade
- JS实现一个简单的抽奖系统
- DB2中错误代码池
- xml文件的解析
- iOS开发中的手势总结
- 再理解RankNet算法
- java操作excell工具类
- 自定义键盘
- Linux上查看造成IO高负载的进程
- Makefile自动编译目录下的所有.C文件