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 相关文章推荐
JavaScript 权威指南(第四版) 读书笔记
Aug 11 Javascript
javascript hashtable 修正版 下载
Dec 30 Javascript
3款实用的在线JS代码工具(国外)
Mar 15 Javascript
用js闭包的方法实现多点标注冒泡示例
May 29 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
Nov 24 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
Jul 10 Javascript
预防网页挂马的方法总结
Nov 03 Javascript
Bootstrap select实现下拉框多选效果
Dec 23 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
Feb 22 Javascript
微信小程序点击列表跳转到对应详情页过程解析
Sep 26 Javascript
Element中Slider滑块的具体使用
Jul 29 Javascript
js闭包的9个使用场景
Dec 29 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
c#中的实现php中的preg_replace
2009/12/21 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
PHP制作万年历
2015/01/07 PHP
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
Python实现的选择排序算法原理与用法实例分析
2017/11/22 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
python虚拟环境迁移方法
2019/01/03 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
艺术设计专业个人求职信
2013/09/21 职场文书
经济贸易系求职信
2014/08/04 职场文书
无犯罪记录证明
2014/09/19 职场文书
会议欢迎词范文
2015/01/27 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
考博导师推荐信范文
2015/03/27 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记