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 相关文章推荐
jquery 插件 任意位置浮动固定层
Dec 25 Javascript
jQuery 常见开发使用技巧总结
Dec 26 Javascript
JS 文件大小判断的实现代码
Apr 07 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
Apr 25 Javascript
jquery弹出框的用法示例(一)
Aug 26 Javascript
jquery easyui滚动条部分设置介绍
Sep 12 Javascript
jQuery实现点击该行即可删除HTML表格行
Oct 17 Javascript
JavaScript每天必学之数组和对象部分
Sep 17 Javascript
jQuery基于Ajax方式提交表单功能示例
Feb 10 Javascript
JavaScript实现计数器基础方法
Oct 10 Javascript
JS中一些高效的魔法运算符总结
May 06 Javascript
Vue监视数据的原理详解
Feb 24 Vue.js
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扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
vue组件间通信解析
2017/03/01 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
vue中v-model的应用及使用详解
2018/06/27 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
详谈python read readline readlines的区别
2017/09/22 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
django中ImageField的使用详解
2020/12/21 Python
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
学校司机岗位职责
2013/11/14 职场文书
促销活动策划方案
2014/01/12 职场文书
单位实习证明怎么写
2014/01/17 职场文书
《只有一个地球》教学反思
2014/02/14 职场文书
无毒社区工作方案
2014/05/23 职场文书
校园安全标语
2014/06/07 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
期末考试复习计划
2015/01/19 职场文书
计生个人工作总结
2015/02/28 职场文书
nginx设置资源请求目录的方式详解
2022/05/30 Servers