js实现随机点名

js实现随机点名

内容

分为上下两个部分,上方为显示区域,下方为控制区域。显示区域显示基地所有成员的工号和姓名,控制区域由开始和结束两个按钮组成。点击开始按钮,显示区域里的内容开始滚动,点击结束按钮,内容滚动停止,随机显示一位成员的工号和姓名。

原理

先创建数组储存数据,然后设置定时器选择的值全等于“点名”二字 则执行停止或成功点名,再设置定时开启内容函数,获取随机选中的结果函数可解析一个字符串,并返回一个整数。

html

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>基于JavaScript的随机点名工具</title>>
</head>
<body>
    <h1>软件开发创新基地点名</h1>
    <span id="span"></span>
    <div class="box" id="box"></div>
    <input type="button" id="btn" value="点名" />
</body>
</html>

css

body {
            background-color: #ffffff;
        }

        h1 {
            text-align: center;
        }

        .box {
            width: 1000px;
            height: 240px;
            margin: 0 auto;
            margin-top: 100px;
            clear: both;
        }

        #btn {
            width: 100px;
            height: 30px;
            margin-left: 600px;
            margin-top: 50px;
        }

        .name {
            width: 100px;
            height: 30px;
            float: left;
            background-color: antiquewhite;
            margin-left: 10px;
            margin-top: 10px;
            text-align: center;
            line-height: 30px;
        }

        #span {
            float: right;
            position: relative;
            top: 55px;
            right: 185px;
        }

js

<script>
    var arrs = ["1","2","3","4","5","6","7","8",
            "9","10","11","12","13","14","15","16","17","18"
            ,"18","20","21","22","23","24","25","26","27","28"
            ,"29","30","31","32","33","34","35","36"];
    var boxNode = document.getElementById("box");
       for (var i = 0; i < arrs.length; i++) {
            var divNode = document.createElement("div");
            divNode.innerHTML=arrs[i];
            divNode.className="name";
        boxNode.appendChild(divNode);
        }
        var btn= document.getElementById("btn");
        btn.onclick = function () {
           if(this.value==="点名"){
         //设置定时器:每过100毫秒、执行一次下方的setTimes函数 并使用 timeId进行接收定时后的结果
                timeId=setInterval("setTimes()",100);
                this.value="停止";//本次按钮的内容被赋值为停止 
            }else{
                clearInterval(timeId);
                this.value="点名";//本次按钮的内容被赋值为点名
            }
        }
        // 设置定时器内容函数
[video(video-sobAW3g8-1674014033163)(type-csdn)(url-https://live.csdn.net/v/embed/270710)(image-https://video-community.csdnimg.cn/vod-84deb4/61c825f0968f71edb3876723b78e0102/snapshots/040fee98b8a8470393d8b51e6a36fe29-00001.jpg?auth_key=4827577814-0-0-f53f177897a3654d56f5b0d354c97678)(title-随机点名工具)]

[video(video-J6MFO1ND-1674014041228)(type-csdn)(url-https://live.csdn.net/v/embed/270710)(image-https://video-community.csdnimg.cn/vod-84deb4/61c825f0968f71edb3876723b78e0102/snapshots/040fee98b8a8470393d8b51e6a36fe29-00001.jpg?auth_key=4827577814-0-0-f53f177897a3654d56f5b0d354c97678)(title-随机点名工具)]

        function setTimes () {
                   for (var j = 0; j < arrs.length; j++) {
                          //将父节点数组中的每一个元素的背景颜色清空
                        boxNode.children[j].style.background="";
                    }
                    // 获取随机选中的结果
                    var random = parseInt(Math.random()*arrs.length);
                  //将父节点数组中的随机被选中元素的背景颜色设置为红/
                    boxNode.children[random].style.background="red";
                }
         
    </script>

随机点名工具

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值