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 相关文章推荐
JavaScript mapreduce工作原理简析
Nov 25 Javascript
教你用javascript实现随机标签云效果_附代码
Mar 16 Javascript
Javascript基础之数组的使用
May 13 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
Nov 29 Javascript
AngularJs表单验证实例代码解析
Nov 29 Javascript
node.js入门学习之url模块
Feb 25 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
jsTree事件和交互以及插件plugins详解
Aug 29 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 jQuery
JS中获取 DOM 元素的绝对位置实例详解
Apr 23 Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 Javascript
Javascript webpack动态import
Apr 19 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检测文件编码的函数
2014/04/21 PHP
php文件上传简单实现方法
2015/01/24 PHP
Joomla开启SEF的方法
2016/05/04 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
详解Python中的Cookie模块使用
2015/07/06 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
python实现简单颜色识别程序
2020/02/19 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
婚礼女方父母答谢词
2015/01/04 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
2019 入党申请书范文
2019/07/10 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
深入详解JS函数的柯里化
2021/06/09 Javascript