使用HTML和JavaScript实现随机点名系统

下面是一个使用HTML和JavaScript实现的随机点名系统。这个系统可以从一个学生名单中随机选择一个名字,并在页面上显示出来。

1.功能说明:

这个应用程序使用纯HTML和JavaScript实现。

  • 包含一个输入框用于输入学生姓名,多个姓名之间用逗号分隔。
  • 提供"添加学生"按钮将输入的学生姓名添加到列表中。
  • 提供"随机点名"按钮从列表中随机选择一个学生姓名并显示在页面上。
  • 使用alert提示用户操作结果。

2.代码展示

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>随机点名系统</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            background-color: #f4f4f9;
            margin: 0;
        }
        .container {
            text-align: center;
            background-color: white;
            padding: 40px;
            border-radius: 20px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
            width: 400px;
        }
        h1 {
            margin-bottom: 30px;
            color: #333;
        }
        input[type="text"] {
            width: 80%;
            padding: 15px;
            margin-bottom: 20px;
            border: 1px solid #ccc;
            border-radius: 10px;
            font-size: 16px;
        }
        button {
            padding: 15px 30px;
            background-color: #007bff;
            color: white;
            border: none;
            border-radius: 10px;
            cursor: pointer;
            font-size: 16px;
            margin: 0 10px;
        }
        button:hover {
            background-color: #0056b3;
        }
        #selected-name {
            font-size: 32px;
            margin-top: 30px;
            color: #333;
            font-weight: bold;
        }
        .message {
            margin-top: 20px;
            color: red;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>随机点名系统</h1>
        <input type="text" id="name-input" placeholder="请输入学生姓名,用逗号分隔">
        <br>
        <button onclick="addNames()">添加学生</button>
        <button onclick="pickRandomName()">随机点名</button>
        <div id="selected-name"></div>
        <div id="message" class="message"></div>
    </div>

    <script>
        let names = [];

        function addNames() {
            const input = document.getElementById('name-input').value;
            if (input.trim()) {
                const newNames = input.split(',').map(name => name.trim());
                names = [...names, ...newNames];
                document.getElementById('message').textContent = `已添加学生: ${newNames.join(', ')}`;
                setTimeout(() => {
                    document.getElementById('message').textContent = '';
                }, 3000);
                document.getElementById('name-input').value = '';
            } else {
                document.getElementById('message').textContent = '请输入有效的学生姓名';
                setTimeout(() => {
                    document.getElementById('message').textContent = '';
                }, 3000);
            }
        }

        function pickRandomName() {
            if (names.length === 0) {
                document.getElementById('message').textContent = '请先添加学生姓名';
                setTimeout(() => {
                    document.getElementById('message').textContent = '';
                }, 3000);
                return;
            }
            const randomIndex = Math.floor(Math.random() * names.length);
            const selectedName = names[randomIndex];
            document.getElementById('selected-name').textContent = `选中的学生是: ${selectedName}`;
        }
    </script>
</body>
</html>

3.效果展示

相关推荐
未来之窗软件服务1 小时前
自己写算法(九)网页数字动画函数——东方仙盟化神期
前端·javascript·算法·仙盟创梦ide·东方仙盟·东方仙盟算法
牧杉-惊蛰3 小时前
disable-devtool 网络安全 禁止打开控制台
前端·css·vue.js
C+ 安口木3 小时前
vue中监听window某个属性被添加或值的变化
前端·javascript·vue.js
阿部多瑞 ABU3 小时前
新增模块介绍:教师代课统计系统(由社区 @记得微笑 贡献)
开源·html·ai编程
CoderYanger3 小时前
前端基础-HTML入门保姆级课堂笔记
前端·javascript·css·html
赛博切图仔3 小时前
qiankun、micro-app、wujie,2025年我们该选谁?
前端·javascript
im_AMBER5 小时前
Web 开发 27
前端·javascript·笔记·后端·学习·web
蓝胖子的多啦A梦5 小时前
低版本Chrome导致弹框无法滚动的解决方案
前端·css·html·chrome浏览器·版本不同造成问题·弹框页面无法滚动
玩代码5 小时前
vue项目安装chromedriver超时解决办法
前端·javascript·vue.js
苏打水com6 小时前
JavaScript 面试题标准答案模板(对应前文核心考点)
javascript·面试