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 相关文章推荐
常用Extjs工具:Extjs.util.Format使用方法
Mar 22 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
Dec 27 Javascript
jquery实现按Enter键触发事件示例
Sep 10 Javascript
JS正则表达式获取分组内容的方法详解
Nov 15 Javascript
Json序列化和反序列化方法解析
Dec 19 Javascript
用Jquery.load载入页面实现局部刷新
Jan 22 Javascript
javascript中createElement的两种创建方式
May 14 Javascript
基于jquery css3实现点击动画弹出表单源码特效
Aug 31 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
Aug 20 Javascript
微信小程序实现写入读取缓存详解
Aug 30 Javascript
JSONObject与JSONArray使用方法解析
Sep 28 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
如何利用JavaScript实现二叉搜索树
(开源)微信小程序+mqtt,esp8266温湿度读取
Javascript中的解构赋值语法详解
Apr 02 #Javascript
Ajax实现局部刷新的方法实例
前端学习——JavaScript原生实现购物车案例
JavaScript中关于预编译、作用域链和闭包的理解
JavaScript 去重和重复次数统计
Mar 31 #Javascript
You might like
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
php获取远程文件大小
2015/10/20 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
Python机器学习之决策树算法实例详解
2017/12/06 Python
Python多线程原理与用法详解
2018/08/20 Python
利用python求积分的实例
2019/07/03 Python
基于python plotly交互式图表大全
2019/12/07 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
abstract是什么意思
2012/02/12 面试题
const和static readonly区别
2013/05/20 面试题
产品质量承诺书
2014/03/27 职场文书
销售督导岗位职责
2015/04/10 职场文书
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
JS高级程序设计之class继承重点详解
2022/07/07 Javascript