js实现可键盘控制的简单抽奖程序


Posted in Javascript onJuly 13, 2016

本文实例为大家分享了js抽奖程序的编写代码,以及编写注意事项,感兴趣的小伙伴们可以参考一下

js实现可键盘控制的简单抽奖程序 

代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>简单抽奖(可用键盘)</title>
  <style>
    *{margin:0;padding:0;}
    .box{width: 400px;height: 300px;margin:50px auto;background: red}
    .title{color: #fff;font-size: 30px;font-weight:700px;padding: 50px 0;text-align: center;height:40px;}
    .btm{text-align: center;padding:20px 0;}
    .btm a{display: inline-block;width: 120px;height:60px;line-height: 60px;background: #FEF097;margin:0 10px;text-decoration: none;}
  </style>
  <script>
    var data=['Iphone','Ipad','笔记本','相机','谢谢参与','充值卡','购物券'],
      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;
        // 回车键的code值:13
        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];
        },60);
        play.style.background='#999';
      }
      function stopFun(){
        clearInterval(timer);
        var play=document.getElementById('play');
        play.style.background='#FEF097';
      }
    }
  </script>
</head>
<body>
  <div class="box">
    <div class="title" id="title">淘家趣抽奖</div>
    <div class="btm">
      <a href="javascript:;" id="play">开始</a>
      <a href="javascript:;" id="stop">停止</a>
    </div>
  </div>
</body>
</html>

注意点:
1.随机数,取数组的其中一个;取0-n之间:Math.random()*(n+1)
2.定时器,开始抽奖时要停止前面的一次抽奖,不然会定时器重叠
3.按键操作,要判断是抽奖进行中,还是未开始,所有设置了变量 flag 

想要学习更多关于javascript抽奖功能,请参考此专题:javascript实现抽奖功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ArrayList类(增强版)
Apr 04 Javascript
jQuery 源代码显示控件 (Ajax加载方式).
May 18 Javascript
Javascript 面向对象 重载
May 13 Javascript
两种常用的javascript数组去重方法思路及代码
Mar 26 Javascript
javascript删除数组元素并且数组长度减小的简单实例
Feb 14 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
详解jQuery lazyload 懒加载
Dec 19 Javascript
bootstrap fileinput 插件使用项目总结(经验)
Feb 22 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 Javascript
element-ui 关于获取select 的label值方法
Aug 24 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 Javascript
原生js仿jquery animate动画效果
Jul 13 #Javascript
瀑布流的实现方式(原生js+jquery+css3)
Jun 28 #Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
Jul 13 #Javascript
Javascript类型系统之undefined和null浅析
Jul 13 #Javascript
JS基础随笔(菜鸟必看篇)
Jul 13 #Javascript
Bootstrap的Refresh Icon也spin起来
Jul 13 #Javascript
jQuery实现div横向拖拽排序的简单实例
Jul 13 #Javascript
You might like
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
php compact 通过变量创建数组
2016/11/15 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
看了就知道什么是JSON
2007/12/09 Javascript
js获取提交的字符串的字节数
2009/02/09 Javascript
javascript web对话框与弹出窗口
2009/02/22 Javascript
javascript Prototype 对象扩展
2009/05/15 Javascript
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
AngularJS中的模块详解
2015/01/29 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
原生js实现轮播图
2017/02/27 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
python字符串,数值计算
2016/10/05 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
财务会计专业毕业生自荐信
2013/10/19 职场文书
大学班长的职责
2014/01/27 职场文书
导师工作推荐信范文
2014/05/17 职场文书
写字楼租赁意向书
2014/07/30 职场文书
碧霞祠导游词
2015/02/09 职场文书