原生js实现随机点名功能


Posted in Javascript onNovember 05, 2019

本文实例为大家分享了js实现随机点名的具体代码,供大家参考,具体内容如下

原生js实现随机点名功能

原生js实现随机点名,js部分有注释

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    *{
      padding: 0;
      margin: 0;
      
    }
    .wrapper{
      width: 800px;
      margin: 10px auto;
      border: 2px solid #ccc; 
      text-align: center;
    }
    .lucking{
      width: 200px;
      height: 180px;
      border: 1px solid #000;
      position: relative;
    }
    .lucking img{
      position: absolute;
      left: 0;
      bottom: 0;
    }
    .wrapper ul li{
      width: 100px;
      height: 50px;
      line-height: 50px;
      text-align: center;
      margin: 4px;
      border:2px solid #ccc;
      border-radius: 5px;
      /* 不设置float:left的原因
      1: 浮动不能让父盒子撑开高度 
      2: display:inline-block 具有行内元素的属性特征,给父盒子加text-align:center 可使其居中
      */
      display: inline-block;
    }
    .wrapper button{
      margin-top: 20px;
      width: 80px;
      height: 40px;
      border: none;
      background-color: #ddd;
      border-radius: 5px;
      font-weight: 700;
      outline: none;
      cursor: pointer;
    }
    .wrapper .active{
      background-color: #f1084a;
      font-weight: 700;
    }
  </style>
</head>
<body>
  <div class="wrapper" id="_wrapper">
    <ul id="_ul"></ul>
    <button class="start">开始点名</button>
    <button class="stop">停止</button>
    <div class="lucking" id="_lucking">
      <p></p>
      <img src="1.gif" alt="">
    </div>
  </div>
</body>
</html>
<script>
  var array = ['杨雨婷','张蓓','王洁','邓伦','李易峰','杨雨婷','张蓓','王洁','邓伦','李易峰','杨雨婷','张蓓','王洁','邓伦','李易峰','杨雨婷','张蓓','王洁','邓伦','李易峰','杨雨婷','张蓓','王洁','邓伦','李易峰','杨雨婷','张蓓','王洁','邓伦','李易峰','杨雨婷','张蓓','王洁','邓伦'];
  // 获取元素
  var _wrapper = document.getElementById('_wrapper');
  var ul = document.getElementById('_ul');;
  var timer = null;
  init();

  function init(){
  // 动态创建li
  for(var i = 0; i < array.length;i++)
  {
    var oli = document.createElement('li');
    oli.innerHTML = array[i];
    ul.appendChild(oli);
  }
  // 点击
    click();
  }
  function click(){
    // 获取start按钮
    var start = _wrapper.getElementsByTagName('button')[0];
    var stop = _wrapper.getElementsByTagName('button')[1];
    var lucking = document.getElementById('_lucking');
    // 定时器
    start.addEventListener('click',function(){
      clearInterval(timer);
      timer = setInterval(function(){
        // 获得随机数
        var random = Math.floor(Math.random()*array.length);
        for(var i = 0;i < array.length;i++)
        {
          ul.children[i].className = '';
        }
        ul.children[random].className = 'active';
      },50);
    });
    stop.addEventListener('click',function(){
      clearInterval(timer);
      // 找到此时的元素
      var active = document.getElementsByClassName('active')[0];
      lucking.children[0].innerText = "幸运儿:" + active.innerText;
    })
  }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
Jan 09 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
Aug 04 Javascript
js 页面传参数时 参数值含特殊字符的问题
Dec 13 Javascript
jQuery开发者都需要知道的5个小技巧
Jan 08 Javascript
通过Javascript读取本地Excel文件内容的代码示例
Apr 08 Javascript
js鼠标点击图片实现随机变换图片的方法
Feb 16 Javascript
JS 清除字符串数组中,重复元素的实现方法
May 24 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 Javascript
JavaScript实现无穷滚动加载数据
May 06 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
Jul 26 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 jQuery
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
element-ui 文件上传修改文件名的方法示例
Nov 05 #Javascript
vue keep-alive 动态删除组件缓存的例子
Nov 04 #Javascript
javascript如何实现create方法
Nov 04 #Javascript
关于vue里页面的缓存详解
Nov 04 #Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
Nov 04 #Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
Nov 04 #Javascript
vue实现权限控制路由(vue-router 动态添加路由)
Nov 04 #Javascript
You might like
php 随机生成10位字符代码
2009/03/26 PHP
php删除指定目录的方法
2015/04/03 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中多线程及程序锁浅析
2015/01/21 Python
Python中关于使用模块的基础知识
2015/05/24 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
2019/08/09 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
python如何调用java类
2020/07/05 Python
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
技术总监个人的自我评价范文
2013/12/18 职场文书
2014年医院工作总结
2014/11/20 职场文书
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python