javascript实现可键盘控制的抽奖系统


Posted in Javascript onMarch 10, 2016

制作一个简易的抽奖系统!欢迎大家学习!

javascript实现可键盘控制的抽奖系统

JS原理:建立一个数组用来存储抽奖内容,例如 iphone6 等,当点击开始的时候,开启定时器,产生一个随机数,把对应文本的innerHTML改成数组所对应的内容。

如果想让某个抽奖几率变高,可以让数组中某个值重复次数多点。接下来看代码。、

JavaScript代码

window.onload = function(){
  var data = [
    "iphone 6s plus",
    "苹果Mac 笔记本",
    "美的洗衣机",
    "凌美钢笔",
    "谢谢参与",
    "索尼入耳式耳机",
    "雷柏机械键盘",
    "《javaScript高级程序设计》",
    "精美保温杯",
    "维尼小熊一只",
    "500元中国石化加油卡",
    "爱奇艺年费会员",
    "iPad mini",
    "32G U盘",
  ];
  var bStop = true;
  var timer = null;
  var btns = document.getElementById('btns').getElementsByTagName('span');
  var text = document.getElementById('text');

  btns[0].onclick = start;
  btns[1].onclick = stop;

  document.onkeyup = function(event){
    event = event||window.event;
    if(event.keyCode==13){
      if(bStop){
        start();
      }else {
        stop();
      }
    }
  }

  function start(){
    clearInterval(timer);
    timer = setInterval(function(){
      var r = Math.floor(Math.random()*data.length);
      text.innerHTML = data[r];
    },20);
    btns[0].style.background = '#666';
    bStop = false;
  }

  function stop(){
    clearInterval(timer);
    btns[0].style.background = 'blue';
      bStop = true;
    
  }
}

html css 代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>抽奖啦</title>
  <style>
    * {
      margin: 0;
      padding:0;
    }
    #container {
      width: 500px;
      height: 200px;
      margin: 100px auto;
      background: red;
      position: relative;
      padding-top: 20px;
    }
    #container p {
      position: absolute;
      bottom: 4px;
      left: 30px;
    }
    #btns {
      position: absolute;
      left: 118px;
      bottom: 30px;
    }
    #container h1 {
      color: #fff;
      text-align: center;
    }
    #btn-start,#btn-stop {
      width: 100px;
      height: 60px;
      background: blue;
      text-align: center;
      line-height: 60px;
      font-size: 20px;
      display: inline-block;
      color: #fff;
      margin-right: 60px;
      border-radius: 10px;
      cursor: pointer;
    }
  </style>
  <script src="index.js"></script>
</head>
<body>
  <div id="container">
    <h1 id="text">iphone 6s plus</h1>
    <p>小提示:您可以按下Enter键来控制开始暂停,祝您中大奖哟</p>
    <div id="btns">
      <span id="btn-start">开始</span>
      <span id="btn-stop">停止</span>
    </div>
  </div>
</body>
</html>

希望本文所述对大家的学习有所帮助,轻松实现抽奖系统。

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
Oct 16 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
JavaScript面向对象之Prototypes和继承
Jul 12 Javascript
浅析ajax请求json数据并用js解析(示例分析)
Jul 13 Javascript
jquery简单的弹出层浮动层代码
Apr 27 Javascript
easyui form validate总是返回false的原因及解决方法
Nov 07 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
Mar 10 Javascript
js实现图片放大展示效果
Aug 30 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
Jan 25 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
详解webpack loader和plugin编写
Oct 12 Javascript
JavaScript canvas绘制折线图
Feb 18 Javascript
基于javascript制作微信聊天面板
Aug 09 #Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 #Javascript
TypeScript Type Innference(类型判断)
Mar 10 #Javascript
JavaScript File分段上传
Mar 10 #Javascript
ES6中非常实用的新特性介绍
Mar 10 #Javascript
ES6的新特性概览
Mar 10 #Javascript
JavaScript字符串常用的方法
Mar 10 #Javascript
You might like
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
javascript奇异的arguments分析
2010/10/20 Javascript
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
javascript中的this详解
2014/12/08 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
javascript实现密码验证
2015/11/10 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
python的id()函数介绍
2013/02/10 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
Python实现二维数组输出为图片
2018/04/03 Python
python得到电脑的开机时间方法
2018/10/15 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
解释一下钝化(Swap out)
2016/12/26 面试题
新闻专业本科生的自我评价分享
2013/11/20 职场文书
微型企业创业投资计划书
2014/01/10 职场文书
临床医师个人自我评价
2014/04/06 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书