实现随机点名的效果

这是一个使用JavaScript编写的随机点名系统,通过HTML和CSS构建用户界面。程序首先定义了一个包含多个姓名的数组,然后利用自定义的随机函数选取一个姓名并显示在界面上。开始按钮启动点名过程,每30毫秒更新一次姓名显示,直到只剩最后一个名字时禁用开始和结束按钮。结束按钮则清除定时器,并从数组中移除当前显示的名字。
摘要由CSDN通过智能技术生成

 

<!DOCTYPE html>

<html lang="en">

 

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>随机点名(拓展)</title>

    <style>

        * {

            margin: 0;

            padding: 0;

        }

        

        h2,

        .btns {

            text-align: center;

        }

        

        .box {

            width: 600px;

            margin: 50px auto;

            display: flex;

            font-size: 25px;

            line-height: 40px;

        }

        

        .qs {

            width: 450px;

            height: 40px;

            color: red;

        }

        

        .btns button {

            width: 120px;

            height: 35px;

            margin: 0 50px;

        }

    </style>

</head>

 

<body>

    <h2>随机点名</h2>

    <div class="box">

        <span>名字是:</span>

        <div class="qs">这里显示姓名</div>

    </div>

    <div class="btns">

        <button class="start">开始</button>

        <button class="end">结束</button>

    </div>

    <script>

        // 准备阶段:声明数组 模拟数据

        let arr = ['蔡政', '曹鹏宇', '陈海龙', '凤娇', '郭海昆', '郭锦歌', '金宇', '孔晨阳', '李梦影', '梁露露', '梁夏玲', '刘锦程', '刘强强', '陆鹏飞', '马森', '盛少将', '田子怡', '王方方', '王金松', '王静文', '王永兴', '韦晨阳', '武梦宇', '熊康', '徐倩', '杨付海', '姚杰', '张博翔', '张菲菲', '张凤娇', '张孟杰', '张梦婷', '张润泽', '张志霖', '赵阳', '周欢', '施成'];

        let timer=0;

        let random=0;

 

        // 封装自定义随机函数

        function getRandom(min, max) {

            return Math.floor(Math.random() * (max - min + 1)) + min;

        }

 

        // 1. 获取元素对象

        let qs = document.querySelector('.qs');

        let start = document.querySelector('.start');

        let end = document.querySelector('.end');

 

 

        // 2. 给开始按钮注册点击事件

        // 事件监听 addEventListener('type', 处理程序)

        start.addEventListener('click', function() {

            // setInterval(处理程序, 毫秒数)

           timer= setInterval(function() {

                // 获取到一个随机整数 作为 arr 的下标(索引)

                random = getRandom(0, arr.length - 1);

                console.log(arr[random]);

                qs.innerHTML = arr[random];

            }, 30)

            //如果剩余最后一个元素,则禁用按钮

            if (arr.length ==1){

                start.disabled=true;

                end.disabled=true;

 

            }

 

        })

 

 

        // 3. 给结束按钮注册点击事件

      end.addEventListener('click',function(){

          clearInterval(timer);

          arr.splice(random,1);

          console.log(arr);

      })

    

            

        

    </script>

</body>

 

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值