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的一些看法
May 27 Javascript
情人节之礼 js项链效果
Feb 13 Javascript
jquery删除ID为sNews的tr元素的内容
Apr 10 Javascript
jqTransform美化表单
Oct 10 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
javascript匀速动画和缓冲动画详解
Oct 20 Javascript
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
详解vue表单——小白速看
Apr 08 Javascript
javascript实现文本框标签验证的实例代码
Oct 14 Javascript
通过js示例讲解时间复杂度与空间复杂度
Aug 06 Javascript
Vue文本模糊匹配功能如何实现
Jul 30 Javascript
vue组件中实现嵌套子组件案例
Aug 31 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
在php MYSQL中插入当前时间
2008/04/06 PHP
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
Python pickle模块用法实例
2015/04/14 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
存储过程和函数的区别
2013/05/28 面试题
学习型党组织心得体会
2014/09/12 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
机关作风建设整改方案
2014/10/27 职场文书
借款民事起诉状范文
2015/05/19 职场文书
新闻简讯格式及范文
2015/07/22 职场文书