原生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 相关文章推荐
js获取TreeView控件选中节点的Text和Value值的方法
Nov 24 Javascript
jquery入门—选择器实现隔行变色实例代码
Jan 04 Javascript
JS获取当前日期时间并定时刷新示例
Mar 04 Javascript
node.js中的console.log方法使用说明
Dec 09 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
Javascript blur与click冲突解决办法
Jan 09 Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 Javascript
微信小程序实现蒙版弹窗效果
Nov 01 Javascript
vue-router传递参数的几种方式实例详解
Nov 13 Javascript
bootstrap下拉分页样式 带跳转页码
Dec 29 Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 Javascript
如何在vue 中使用柱状图 并自修改配置
Jan 21 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无刷新上传文件实现代码
2011/09/19 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
2018/04/08 PHP
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
js中开关变量使用实例
2017/02/24 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
Vue实现日历小插件
2019/06/26 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
Python计算程序运行时间的方法
2014/12/13 Python
django 创建过滤器的实例详解
2017/08/14 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
python 实现识别图片上的数字
2019/07/30 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
如何利用python读取micaps文件详解
2020/10/18 Python
详解python日志输出使用配置文件格式
2021/02/10 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
数控专业应届生求职信
2013/11/27 职场文书
关于旅游的活动方案
2014/08/15 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
兴趣班停课通知
2015/04/24 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书