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 相关文章推荐
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
Mar 25 Javascript
js中arguments,caller,callee,apply的用法小结
Jan 28 Javascript
javascript实现浏览器窗口传递参数的方法
Sep 03 Javascript
JavaScript接口的实现三种方式(推荐)
Jun 14 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
Jan 04 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
Feb 23 Javascript
深入理解AngularJS中的ng-bind-html指令
Mar 27 Javascript
如何使用vuejs实现更好的Form validation?
Apr 07 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
Oct 10 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
Nov 08 Javascript
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
原生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
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
webpack构建换肤功能的思路详解
2017/11/27 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
Python中的迭代器漫谈
2015/02/03 Python
解决uWSGI的编码问题详解
2017/03/24 Python
Python简易版图书管理系统
2019/08/12 Python
python 实现IP子网计算
2021/02/18 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
JAVA招聘远程笔试题
2015/07/23 面试题
分公司经理岗位职责
2013/11/11 职场文书
中层竞聘演讲稿
2014/01/09 职场文书
《草原》教学反思
2014/02/15 职场文书
职业女性的职业规划
2014/03/04 职场文书
股权转让协议书范本
2014/04/12 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书