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表数据排序 sort table data
Feb 18 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
Jan 12 Javascript
jQuery实现鼠标可拖动调整表格列宽度
May 26 Javascript
原生JavaScript编写俄罗斯方块
Mar 30 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
Javascript进制转换实例分析
May 14 Javascript
JavaScript的Vue.js库入门学习教程
May 23 Javascript
jQuery使用each方法与for语句遍历数组示例
Jun 16 Javascript
Bootstrap下拉菜单效果实例代码分享
Jun 30 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
Dec 12 Javascript
vue中本地静态图片路径写法
Mar 06 Javascript
如何检查一个对象是否为空
Apr 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
星际争霸中的热键
2020/03/04 星际争霸
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
python使用webbrowser浏览指定url的方法
2015/04/04 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
对python中return与yield的区别详解
2020/03/12 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
环境科学毕业生自荐信
2013/11/21 职场文书
《都江堰》教学反思
2014/02/07 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
二年级评语大全
2014/04/23 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
工作调动申请报告
2015/05/18 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
小学运动会通讯稿
2015/07/18 职场文书
思想工作总结范文
2015/08/12 职场文书
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python