html实现随机点名器的示例代码


Posted in Javascript onApril 02, 2021

此点名器开始点名后需点击停止按钮完成点名,因为是精简版没有考虑自动停止需求。姓名数据以字符串形式储存,适合小范围点名使用,有大量需求可自己适当改进。

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>随机点名生成</title>

    <style>
        /* 页面css样式 */
        .wrapper {
            width: 800px;
            margin: 100px auto;
            border: 1px solid #ddd;
            text-align: center;
        }

        .box li {
            vertical-align: top;
            display: inline-block;
            width: 100px;
            height: 50px;
            border: 2px solid #ddd;
            border-radius: 15px;
            text-align: center;
            line-height: 50px;
            margin: 5px;
        }
        
        .wrapper button {
            border: none;
            width: 100px;
            height: 50px;
            border-radius: 10px;
            cursor: pointer;
            outline: none;
            margin-top: 20px;
            font-weight: bolder;
            color: #333;
            background-color: rgb(14, 146, 43);
        }

        .wrapper button {
            display: inline-block;
        }

        body {
            background-color: #eee;
        }
    </style>

</head>

<body>
    <div class="wrapper">
     <h1 align="center">随机点名系统</h2>
      //实时显示系统时间标签
        <h6 id="data" align="right"></h6>
        <ul class="box"></ul>
        <button class="start">开始</button>
        <button class="stop">停止</button>
    </div>
</body>

<script>
    //定义全局变量方便引用
    var boxUl = document.getElementsByClassName('box')[0];
    var start = document.getElementsByClassName('start')[0];
    var stop = document.getElementsByClassName('stop')[0]
    var oLi = document.getElementsByTagName('li');

    //数据准备
    var nameString = new String("张三,李四,王五,赵六,周七,田八,国九,归零,张3,李4,王5,赵6,周7,田8,国9,归0");
    var nameArr = nameString.split(",");

    //获取每个学生姓名添加到标签中,自动解析html标签
    var str = "";
    for (let i = 0; i < nameArr.length; i++) {
        str += "<li >" + nameArr[i] + "</li>"
    }
    boxUl.innerHTML = str;

    //添加开始按钮的点击事件
    var timer = null;
    start.onclick = function () {
        // 设置定时器
        timer = setInterval(function () {

            // 根据数组长度范围生成随机数
            var i = Math.floor(Math.random() * nameArr.length);
            // 先通过for循环清空所有style属性
            for (var j = 0; j < oLi.length; j++) {
                oLi[j].removeAttribute("style");
            }
            // 为随机选择的li颜色属性
            oLi[i].style.background = "red";
        }, 150);
    };
    // 点击停止
    stop.onclick = function () {
        // 清空定时器停止点名
        clearInterval(timer);
    }
    //页面初始化时间设置
    window.onload = function () {
        datatime();
    }
    //页面时间动态刷新
    setInterval(datatime, 1000);

    function datatime() {
        let data = new Date();
        let dataString ="现在是北京时间:" + data.toLocaleString();
        document.getElementById("data").innerHTML = dataString;
    }
</script>

附一张效果图

html实现随机点名器的示例代码

到此这篇关于html实现随机点名器的示例代码的文章就介绍到这了,更多相关html随机点名器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
Javascript 相关文章推荐
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
Jul 18 Javascript
JS判断当前页面是否在微信浏览器打开的方法
Dec 08 Javascript
原生js实现tab选项卡切换
Mar 23 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
node.js缺少mysql模块运行报错的解决方法
Nov 13 Javascript
微信小程序后台解密用户数据实例详解
Jun 28 Javascript
深入理解Vue2.x的虚拟DOM diff原理
Sep 27 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
Aug 09 jQuery
Vue中的基础过渡动画及实现原理解析
Dec 04 Javascript
vue 引用自定义ttf、otf、在线字体的方法
May 09 Javascript
Javascript幻灯片播放功能实现过程解析
May 07 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
Dec 04 Javascript
如何利用JavaScript实现二叉搜索树
(开源)微信小程序+mqtt,esp8266温湿度读取
Javascript中的解构赋值语法详解
Apr 02 #Javascript
Ajax实现局部刷新的方法实例
前端学习——JavaScript原生实现购物车案例
JavaScript中关于预编译、作用域链和闭包的理解
JavaScript 去重和重复次数统计
Mar 31 #Javascript
You might like
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
jquery 笔记 事件
2011/11/02 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
JS简单获得节点元素的方法示例
2018/02/10 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
JavaScript常用工具函数大全
2020/05/06 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
python动态性强类型用法实例
2015/05/09 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
解决Python3下map函数的显示问题
2019/12/04 Python
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
database面试题
2013/03/28 面试题
销售人员中英文自荐信
2013/09/22 职场文书
升职自荐信范文
2013/10/05 职场文书
单位活动策划方案
2014/08/17 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技