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中重写jQuery对象的方法实例教程
Aug 25 Javascript
JS取得绝对路径的实现代码
Jan 16 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
Nov 10 Javascript
Js实现京东无延迟菜单效果实例(demo)
Jun 02 Javascript
angular之ng-template模板加载
Nov 09 Javascript
vue中,在本地缓存中读写数据的方法
Sep 21 Javascript
Node.js 路由的实现方法
Jun 05 Javascript
JavaScript静态作用域和动态作用域实例详解
Jun 17 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
Sep 20 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
Aug 20 Javascript
Vue3+elementui plus创建项目的方法
Dec 01 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无限分类使用concat如何实现
2015/11/05 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
php实现的顺序线性表示例
2019/05/04 PHP
Javascript !!的作用
2008/12/04 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
python中实现定制类的特殊方法总结
2014/09/28 Python
编写简单的Python程序来判断文本的语种
2015/04/07 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
Python面向对象编程基础实例分析
2020/01/17 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
领导证婚人证婚词
2014/01/13 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
五年级语文教学反思
2014/01/30 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
承诺书模板
2014/08/30 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
田径运动会广播稿
2015/08/19 职场文书
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android