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 相关文章推荐
Some tips of wmi scripting in jscript (1)
Apr 03 Javascript
FormValidate 表单验证功能代码更新并提供下载
Aug 23 Javascript
基于jquery的关于动态创建DOM元素的问题
Dec 24 Javascript
html5 canvas js(数字时钟)实例代码
Dec 23 Javascript
js获取时间并实现字符串和时间戳之间的转换
Jan 05 Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 Javascript
浅谈javascript中onbeforeunload与onunload事件
Dec 10 Javascript
Vue.js第四天学习笔记(组件)
Dec 02 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
Feb 17 Javascript
vue中实现动态生成二维码的方法
Feb 21 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
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
php对数组排序的简单实例
2013/12/25 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
Angular2中监听数据更新的方法
2018/08/31 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
[04:12]第二届DOTA2亚洲邀请赛选手传记-Newbee.Sccc
2017/04/03 DOTA
详解Django中类视图使用装饰器的方式
2018/08/12 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
python对常见数据类型的遍历解析
2019/08/27 Python
python实现静态服务器
2019/09/05 Python
django 简单实现登录验证给你
2019/11/06 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
详解Python高阶函数
2020/08/15 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
初中考试作弊检讨书
2014/02/01 职场文书
安全生产活动月方案
2014/03/09 职场文书
2015年计划生育责任书
2015/05/08 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python