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 相关文章推荐
10个实用的脚本代码工具
May 04 Javascript
在jQuery ajax中按钮button和submit的区别分析
Oct 07 Javascript
JS比较2个日期间隔的示例代码
Apr 15 Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
Dec 20 Javascript
js实现进度条的方法
Feb 13 Javascript
微信小程序使用form表单获取输入框数据的实例代码
May 17 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
vue项目部署到Apache服务器中遇到的问题解决
Aug 24 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
Vue+webpack实现懒加载过程解析
Feb 17 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 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 foreach、while性能比较
2009/10/15 PHP
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php常用文件操作函数汇总
2014/11/22 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
vuex 使用文档小结篇
2018/01/11 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
python多任务之协程的使用详解
2019/08/26 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
后勤服务中心总经理工作职责
2014/03/03 职场文书
政风行风整改报告
2014/11/06 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技