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 相关文章推荐
javascript-简单的计算器实现步骤分解(附图)
May 30 Javascript
jquery中的事件处理详细介绍
Jun 24 Javascript
a标签的href和onclick 的事件的区别介绍
Jul 26 Javascript
js过滤HTML标签完整实例
Nov 26 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
AngularJS 让人爱不释手的八种功能
Mar 23 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
Sep 21 Javascript
微信小程序 闭包写法详细介绍
Dec 14 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
Mar 30 Javascript
bootstrapvalidator之API学习教程
Jun 29 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
Apr 26 Javascript
vue实现列表垂直无缝滚动
Apr 08 Vue.js
如何利用JavaScript实现二叉搜索树
(开源)微信小程序+mqtt,esp8266温湿度读取
Javascript中的解构赋值语法详解
Apr 02 #Javascript
Ajax实现局部刷新的方法实例
前端学习——JavaScript原生实现购物车案例
JavaScript中关于预编译、作用域链和闭包的理解
JavaScript 去重和重复次数统计
Mar 31 #Javascript
You might like
PHP日期处理函数 整型日期格式
2011/01/12 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
图像替换新技术 状态域方法
2010/01/28 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
了解前端理论:rscss和rsjs
2019/05/23 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
机关单位人员学雷锋心得体会
2014/03/10 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
会计求职信范文
2014/05/24 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
员工旷工检讨书
2015/08/15 职场文书