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 相关文章推荐
一个对于Array的简单扩展
Oct 03 Javascript
各种效果的jquery ui(接口)介绍
Sep 17 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
Sep 12 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
Jun 28 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 Javascript
减少访问DOM的次数提升javascript性能
Feb 24 Javascript
js实现进度条的方法
Feb 13 Javascript
jQuery中队列queue()函数的实例教程
May 03 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
Jul 01 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
Jan 04 Javascript
微信小程序日期选择器实例代码
Jul 18 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
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
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
类似框架的js代码
2006/11/09 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
深入理解移动前端开发之viewport
2018/10/19 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
如何基于Python按行合并两个txt
2020/11/03 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
shell程序中如何注释
2012/01/28 面试题
土木工程专业大学毕业生求职信
2013/10/13 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
教师工作总结范文2014
2014/11/10 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技