原生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 相关文章推荐
javascript网页关键字高亮代码
Jul 30 Javascript
Jquery 学习笔记(一)
Oct 13 Javascript
jQuery LigerUI 使用教程表格篇(1)
Jan 18 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
Dec 21 Javascript
JS网页图片按比例自适应缩放实现方法
Jan 15 Javascript
jQuery中animate的几种用法与注意事项
Dec 12 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
WebPack基础知识详解
Jan 16 Javascript
jQuery基于正则表达式的表单验证功能示例
Jan 21 Javascript
Vue.js实现模拟微信朋友圈开发demo
Apr 20 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
Oct 16 jQuery
vue中beforeRouteLeave实现页面回退不刷新的示例代码
Nov 01 Javascript
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 curl模拟post请求小实例
2013/11/13 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
PHP 实现重载
2021/03/09 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
Python pickle模块用法实例
2015/04/14 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
利用python发送和接收邮件
2016/09/27 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
分析Python读取文件时的路径问题
2018/02/11 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
历史教育专业个人求职信
2013/12/13 职场文书
高一自我鉴定
2013/12/17 职场文书
写好自荐信的几个要点
2013/12/26 职场文书
大学生实习感言
2014/01/16 职场文书
志愿者活动总结
2014/04/28 职场文书
老公给老婆的保证书
2014/04/28 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
群众路线剖析材料
2014/09/30 职场文书
2015年药店工作总结
2015/04/20 职场文书
消防安全月活动总结
2015/05/08 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
springboot中的pom文件 project报错问题
2022/01/18 Java/Android