原生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 打开页面window.location和window.open的区别
Mar 17 Javascript
JQuery中each()的使用方法说明
Aug 19 Javascript
jQuery浏览器CSS3特写兼容实例
Jan 19 Javascript
元素绑定click点击事件方法
Jun 08 Javascript
详解js图片轮播效果实现原理
Dec 17 Javascript
js实现图片上传并正常显示
Dec 19 Javascript
Node.js使用MySQL连接池的方法实例
Feb 11 Javascript
js中int和string数据类型互相转化实例
Jan 16 Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
JavaScript实现随机点名器实例详解
May 07 Javascript
Vue+Vuex实现自动登录的知识点详解
Mar 04 Javascript
vue使用节流函数的踩坑实例指南
May 20 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读取数据库信息的几种方法
2008/05/24 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
php简单实现数组分页的方法
2016/04/30 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
Python中几种导入模块的方式总结
2017/04/27 Python
python 换位密码算法的实例详解
2017/07/19 Python
解读python logging模块的使用方法
2018/04/17 Python
Python登录注册验证功能实现
2018/06/18 Python
python super函数使用方法详解
2020/02/14 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
python如何停止递归
2020/09/09 Python
Python列表的深复制和浅复制示例详解
2021/02/12 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
全球地下的服装和态度:Slam Jam
2018/02/04 全球购物
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
银行主办会计岗位职责
2014/08/13 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL