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 相关文章推荐
JQuery跨Iframe选择实现代码
Aug 19 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
js实现微信分享代码
Oct 11 Javascript
JQuery实现的按钮倒计时效果
Dec 23 Javascript
基于JS实现Android,iOS一个手势动画效果
Apr 27 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 Javascript
浅谈webpack组织模块的原理
Mar 10 Javascript
vue iView 上传组件之手动上传功能
Mar 16 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
小程序最新获取用户昵称和头像的方法总结
Sep 23 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
原生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
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
php导入导出excel实例
2013/10/25 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
2017/05/20 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
jQuery参数列表集合
2011/04/06 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
javascript中的面向对象
2017/03/30 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
在Python中移动目录结构的方法
2016/01/31 Python
浅谈python中的占位符
2017/11/09 Python
Python与R语言的简要对比
2017/11/14 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
防灾减灾日活动总结
2014/08/26 职场文书
第二次离婚起诉书
2015/05/18 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
解决Oracle数据库用户密码过期
2022/05/11 Oracle