原生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脚本语言在网页中的简单应用
May 13 Javascript
jQuery后代选择器用法实例
Dec 23 Javascript
JavaScript中的console.log()函数详细介绍
Dec 29 Javascript
使用C++为node.js写扩展模块
Apr 22 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
Javascript基础之数组的使用
May 13 Javascript
JavaScript新增样式规则(推荐)
Jul 19 Javascript
jQuery监听文件上传实现进度条效果的方法
Oct 16 Javascript
在vue中读取本地Json文件的方法
Sep 06 Javascript
构建Vue大型应用的10个最佳实践(小结)
Nov 07 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 Javascript
React配置子路由的实现
Jun 03 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后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
初步讲解Python中的元组概念
2015/05/21 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
通过实例解析Python调用json模块
2019/12/11 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
HTML5中的新元素介绍
2008/10/17 HTML / CSS
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
行政经理岗位职责
2013/11/09 职场文书
销售主管的自我评价分享
2014/01/03 职场文书
自考生自我评价分享
2014/01/18 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
给孩子的新年寄语
2014/04/08 职场文书
创业培训计划书
2014/05/03 职场文书
会计系毕业生求职信
2014/05/28 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python
利用Java连接Hadoop进行编程
2022/06/28 Java/Android