Home  >  Article  >  Web Front-end  >  Example sharing of JavaScript implementation of lottery system

Example sharing of JavaScript implementation of lottery system

小云云
小云云Original
2018-01-16 13:24:532518browse

This article mainly introduces the lottery system based on JavaScript in detail. It has certain reference value. Interested friends can refer to it. I hope it can help everyone.

Use JavaScript to implement a simple lottery system, with a [Start] button and a [Stop] button.

Functions:

- Click the start button to start the lottery, and the prize names will appear randomly;
- Click the stop button to stop the lottery;
- Press the Enter key to switch between starting and stopping the lottery.

Effect

html code:

Create the html structure. The most basic thing is to include the displayed prize name and start and stop buttons.






  抽奖系统
  
  
  

开始抽奖啦!

开 始 停 止

js main code snippet:

First, define the data array and write the names of each prize. And initialize the timer and keyboard event status flag (the initial status is 0, pressing the keyboard changes to 1, pressing the keyboard again changes to 0, and so on).


var data=['Phone7','Ipad','三星笔记本','佳能相机','惠普打印机','谢谢参与','100元充值卡','1000元超市购物券'];
  timer = null,
  flag = 0;

Define the start lottery function playFun();


function playFun() {
  var title = document.getElementById('title');
  var play = document.getElementById('play');
  //每次都先清除上一次的定时器任务,避免抽奖效果累加频率会越来越快
  clearInterval(timer);
  //定时器50毫秒触发一次
  timer = setInterval(function(){
    //获取奖品下标随机数
    var random = Math.floor(Math.random() * data.length);
    //显示随机的奖品名称
    title.innerHTML = data[random];
  }, 50);
  //改变将开始按钮背景色
  play.style.background = '#666';
}

Define the stop lottery function stopFun();


##

function stopFun(){
  //清除定时器即可结束抽奖
  clearInterval(timer);
  var play = document.getElementById('play');
  //改变将停止按钮背景色
  play.style.background = '#036';
}

Press the Enter key to switch the lottery status event;


document.onkeyup = function(event){
  event = event || window.event;
  //回车键键码为13
  if (event.keyCode == 13) {
    //如果状态flag值为0则开始抽奖,并把状态值改为1,否则停止抽奖并把状态值改为0
    if (flag == 0){
      playFun();
      flag = 1;
    }else{
      stopFun();
      flag = 0;
    }
  }
}

js complete code:

##

var data = ['Phone7', 'Ipad', '三星笔记本', '佳能相机', '惠普打印机', '谢谢参与', '100元充值卡', '1000元超市购物券'],
  timer = null, //定时器
  flag = 0; //用于键盘事件状态标记

window.onload = function() {

  var play = document.getElementById('play'),
    stop = document.getElementById('stop');

  // 开始抽奖
  play.onclick = playFun;
  stop.onclick = stopFun;

  // 键盘事件
  document.onkeyup = function(event) {
    event = event || window.event;
    if (event.keyCode == 13) {
      if (flag == 0) {
        playFun();
        flag = 1;
      } else {
        stopFun();
        flag = 0;
      }
    }
  }
}
// 开始抽奖
function playFun() {
  var title = document.getElementById('title');
  var play = document.getElementById('play');
  //每次都先清除上一次的定时器任务,避免抽奖效果累加频率会越来越快
  clearInterval(timer);
  timer = setInterval(function() {
    var random = Math.floor(Math.random() * data.length);
    title.innerHTML = data[random];
  }, 50);
  play.style.background = '#999';
}
//停止抽奖
function stopFun() {
  clearInterval(timer);
  var play = document.getElementById('play');
  play.style.background = '#036';
}

css style:

* {
  margin: 0;
  padding: 0;
}

.title {
  font-size: 24px;
  font-weight: bold;
  width: 400px;
  height: 70px;
  margin: 0 auto;
  padding-top: 30px;
  text-align: center;
  color: #f00;
}

.btns {
  width: 190px;
  height: 30px;
  margin: 0 auto;
}

.btns span {
  font-family: '微软雅黑';
  font-size: 14px;
  line-height: 27px;
  display: block;
  float: left;
  width: 80px;
  height: 27px;
  margin-right: 10px;
  cursor: pointer;
  text-align: center;
  color: #fff;
  border: 1px solid #eee;
  border-radius: 7px;
  background: #036;
}

Related recommendations:


jQuery implements simple lottery game technology sharing

jQuery , PHP, Mysql implementation of lottery program examples detailed explanation

vue implementation of mobile phone number lottery up and down scrolling animation example sharing

The above is the detailed content of Example sharing of JavaScript implementation of lottery system. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn