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 相关文章推荐
javascript 数组的方法集合
Jun 05 Javascript
jQuery 浮动广告实现代码
Dec 25 Javascript
js实现省市联动效果的简单实例
Feb 10 Javascript
jquery对table中各数据的增加、保存、删除操作示例
May 14 Javascript
jQuery的animate函数学习记录
Aug 08 Javascript
javascript单例模式的简单实现方法
Jul 25 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
Jun 17 Javascript
js实现带缓动动画的导航栏效果
Jan 16 Javascript
Vue.js组件间的循环引用方法示例
Dec 27 Javascript
微信小程序wepy框架笔记小结
Aug 08 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
纯js实现无缝滚动功能代码实例
Feb 21 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
php MessagePack介绍
2013/10/06 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
Python删除windows垃圾文件的方法
2015/07/14 Python
Python实现简单的代理服务器
2015/07/25 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
Python time库基本使用方法分析
2019/12/13 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
购买原创艺术品:Zatista
2019/11/09 全球购物
TCP/IP模型的分界线
2012/12/01 面试题
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
如何掌握自荐信格式呢
2013/11/19 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
党日活动总结
2014/05/07 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
python中的装饰器该如何使用
2021/06/18 Python