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中的注释使用与注意事项小结
Sep 20 Javascript
js为空或不是对象问题的快速解决方法
Dec 11 Javascript
单击和双击事件的冲突处理示例代码
Apr 03 Javascript
JS实现向表格中动态添加行的方法
Mar 30 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
Mar 11 Javascript
JS中的eval 为什么加括号
Apr 13 Javascript
ES6中class类用法实例浅析
Apr 06 Javascript
详解vue-cli构建项目反向代理配置
Sep 07 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
Dec 01 Javascript
Vue组件中slot的用法
Jan 30 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
Nov 30 Javascript
如何在JavaScript中使用localStorage详情
Feb 04 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
SONY SRF-M100的电路分析
2021/03/02 无线电
MySQL授权问题总结
2007/05/06 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
jquery随机展示头像代码
2011/12/21 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
js实现HashTable(哈希表)的实例分析
2016/11/21 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
Python实现读取json文件到excel表
2017/11/18 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
python argparser的具体使用
2019/11/10 Python
行政部经理助理岗位职责
2014/06/15 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
Python函数对象与闭包函数
2022/04/13 Python