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异步传输json数据格式实例代码
Nov 23 Javascript
Js与下拉列表处理问题解决
Feb 13 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
js实现简单折叠、展开菜单的方法
Aug 28 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
Mar 21 Javascript
webpack教程之webpack.config.js配置文件
Jul 05 Javascript
在vue项目中使用md5加密的方法
Sep 14 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
Sep 01 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
Oct 26 Javascript
Vue+Node实现的商城用户管理功能示例
Dec 23 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 20 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 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
Zend引擎的发展 [15]
2006/10/09 PHP
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
php实现分页工具类分享
2014/01/09 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
JS继承--原型链继承和类式继承
2013/04/08 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
Python中用sleep()方法操作时间的教程
2015/05/22 Python
基于python 字符编码的理解
2017/09/02 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
python 将md5转为16字节的方法
2018/05/29 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
护理学专业推荐信
2013/12/03 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
实现中国梦思想汇报2014
2014/09/13 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
三峡人家导游词
2015/01/31 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
同学聚会开幕词
2019/04/02 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers