随机点名(HTML/CSS/JS)

需求:

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

原理:

利用setInterval定时器,点击开始按钮后,利用数学方法结合数组随机生成一个数字,将该数字作为被抽中的人在数组中的序号,点击暂停后,定时器停止,得出被抽中的数组序号,将该值插入html中显示

效果图:

随机点名

代码块:

<style>
        *{
            margin: 0;
            padding: 0;
        }
        table {
            margin-left: 10px;
            background-color: rgb(200, 250, 233);
            border-radius: 10px;
        }
        .litBox{
            text-align: center;
            margin-left: 200px;
            width: 200px;
            height: 200px;
            background-color: rgb(149, 208, 245);
            color: rgb(1, 1, 1);
            border-radius: 10px;
            font-size: 25px;
            font-weight: 800;
            font-family: 宋体;
            line-height: 200px;
        }
        .An{
            margin-left: 210px;
        }
        .left,.right{
            width: 80px;
            height: 40px;
            margin-top: 10px;
            margin-right: 10px;
            border: none;
            border-radius: 10px;
            cursor: pointer;
        }
        .left{
            background-color: rgb(216, 176, 211);
        }
        .right{
            background-color: rgb(182, 190, 222);
        }
    </style>
<body>
    <div class="box">
        <div class="bigBox">
            <table cellspacing="25">
                <tbody>
                    <tr>
                        <td>02010105廖玉洁</td>
                        <td>02010101王执聿</td>
                        <td>02010103骆文浩</td>
                        <td>02010104方海英</td>
                    </tr>
                    <tr>
                       <td>01000001吴昌平</td>
                       <td>02010108李舜禹</td>
                       <td>01000002张学涛</td>
                       <td>"01010103丁鸿飞</td> 
                    </tr>
                    <tr>
                        <td>02010107李炫宇</td>
                        <td>02010102梁克锦</td>
                        <td>02010110佟冠衡</td>
                        <td>02010106张震宇</td>
                    </tr>
                </tbody>
            </table>
        </div>
        <div class="litBox">

        </div>
        <div class="An">
            <button class="left">开始</button>
            <button class="right">暂停</button>
        </div>
    </div>
</body>
window.onload=function(){
    var arr=["02010105廖玉洁","02010101王执聿","02010103骆文浩","02010104方海英","01000001吴昌平","02010108李舜禹","01000002张学涛","01010103丁鸿飞","02010107李炫宇","02010102梁克锦","02010110佟冠衡","02010106张震宇"]
    var lbtn=document.querySelector(".left")
    var rbtn=document.querySelector(".right")
    var litBox=document.querySelector(".litBox")
    litBox.innerHTML=arr[0]
    var timer=""//获取一个计时器
    // 点击开始按钮后开启定时器
    lbtn.onclick=function(){
        timer=setInterval(() => {
            var num=Math.round(Math.random()*arr.length)
            litBox.innerHTML=arr[num]
        }, 50);
    }
    // 点击暂停按钮停止计时器
    rbtn.onclick=function(){
        clearInterval(timer)
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值