JavaScript实现随机点名器实例详解


Posted in Javascript onMay 07, 2019

你是公司的程序员,年会的时候公司要给员工抽奖发福利,要求你写一个页面小程序,用来随机选出幸运员工,分设一二三等奖大致如下图示例:

JavaScript实现随机点名器实例详解

 JavaScript实现随机点名器实例详解

以下是点名器的一种思路,页面比较简陋,只给出了满足最基本要求的代码户要用到计时器,随机数函数等
本抽奖一二三等奖都只设一名幸运员工,开始结束功能用一个按钮实现

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>点名器</title>
  <style>
    .title{
      font-size:50px;
      font-family: 800;
      color:red;
      margin:50px 430px;
    }
    #Uname{
      width: 300px;
      height: 200px;
      border:3px solid green;
      margin-left:300px;
      margin-top: 0px;
      font-size:50px;
      font-weight: 800;
      text-align: center;
      line-height: 200px;
      float:left;
    }
    .result{
      width: 300px;
      height: 200px;
      font-size: 16px;
      border:3px solid red;
      color:orange;
      margin-left: 100px;
      float:left;
    }

    .result p{
      color:blue;
      font-size: 12px;
    }
    .btn{
      width: 60px;
      height: 200px;
      margin:0 auto;
      margin-top: 20px;

    }
    .btn button{
      width: 50px;

    }
    #prize_3,#prize_2,#prize_1{
      color:red;
      font-size: 16px;
    }
  </style>
</head>
<body>
  <div class="title">XX公司年会抽奖活动</div>
  <div id="Uname" >祝君好运    
  </div>
  <div class="result">
    <p>三等奖:</p>
    <div id="prize_3"></div>
    <p>二等奖:</p>
    <div id="prize_2"></div>
    <p>一等奖:</p>
    <div id="prize_1"></div>
  </div>
  <div class="btn">
    <button onclick="demo()" id="bt">开始</button>
      <!-- <button onclick="stop()">结束</button> -->
  </div>
  <script>
    //获取显示框的内容
    var Uname=document.getElementById('Uname');
    //要随机的员工名单
    var arr=['刘备','曹操','孙权','赵云','大乔','小乔','周瑜','尚香'];
    //获取按钮信息
    var btn=document.getElementById('bt');
    //定义变量存放计时器
    var clock=0;
    //定义变量存放索引值
    var inde=null;
    var prize_3=document.getElementById('prize_3');
    var prize_2=document.getElementById('prize_2');
    var prize_1=document.getElementById('prize_1');

    // 定义是否开启计时器的标志,如果为真开始执行 如果为假则停止
    var st=true;
    // 存放幸运员工名单
    prizes=[];
    function demo(){
      if(st){
        start();
        btn.innerHTML="结束";
        st=false;

      }else{
        stop();
        btn.innerHTML="开始";
        st=true;

      }
    }

    // 开始函数
    function start(){
      clock=setInterval(function(){
        var inde=rand(0,arr.length-1);
        Uname.innerHTML=arr[inde];     
      },50);//设置每50毫秒实行一次
    }
    // 结束点名
    function stop(){
      //从列表最后添加元素
      prizes.push(Uname.innerHTML);
      //关闭定时器
      clearInterval(clock);
      //获取员工名字对应的索引值
      arr.splice(arr.indexOf(Uname.innerHTML),1);
      //当抽奖次数达到三次时,在屏幕上显示幸运员工名单
      if(prizes.length>=3){
        prize_3.innerHTML=prizes[0];
        prize_2.innerHTML=prizes[1];
        prize_1.innerHTML=prizes[2];
      }
    }
    // 封装获取随机数 函数
    function rand(m,n){
      return Math.floor(Math.random()*(n-m+1)+m);
    }
  </script>
</body>
</html>

以上所述是小编给大家介绍的JavaScript随机点名器详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
fix-ie5.js扩展在IE5下不能使用的几个方法
Aug 20 Javascript
JavaScript 封装Ajax传递的数据代码
Jun 05 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
Mar 21 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
Jan 03 Javascript
js 利用image对象实现图片的预加载提高访问速度
Mar 29 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
Jan 13 Javascript
angularJS 如何读写缓冲的方法(推荐)
Aug 06 Javascript
Bootstrap导航条学习使用(二)
Feb 08 Javascript
js转换对象为xml
Feb 17 Javascript
Bootstrap页面标题Page Header的实现方法
Mar 22 Javascript
Vue项目webpack打包部署到服务器的实例详解
Jul 17 Javascript
vue2.0 下拉框默认标题设置方法
Aug 22 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
May 07 #Javascript
微信小程序:数据存储、传值、取值详解
May 07 #Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
May 07 #Javascript
详解Vue前端生产环境发布配置实战篇
May 07 #Javascript
7个好用的JavaScript技巧分享(译)
May 07 #Javascript
微信小程序实现获取用户信息并存入数据库操作示例
May 07 #Javascript
vue搜索和vue模糊搜索代码实例
May 07 #Javascript
You might like
Php部分常见问题总结
2006/10/09 PHP
PHP 数据库树的遍历方法
2009/02/06 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
python处理PHP数组文本文件实例
2014/09/18 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
Python包和模块的分发详细介绍
2020/06/19 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
HTML5+JS实现俄罗斯方块原理及具体步骤
2013/11/29 HTML / CSS
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
计算机工程学院个人求职信
2013/10/05 职场文书
学校门卫工作职责
2013/12/07 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书