使用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.效果展示

相关推荐
小彭努力中29 分钟前
29.在Vue 3中使用OpenLayers读取WKB数据并显示图形
前端·javascript·vue.js·深度学习·openlayers
肘击鸣的百k路31 分钟前
vue中常用的指令
前端·javascript·vue.js
余生H4 小时前
Brain.js(十):GRUTimeStep 实战教程 - 股市指数预测以及与 LSTMTimeStep 对比
javascript·人工智能·深度学习·神经网络·webml·brain.js
珹洺5 小时前
Bootstrap-HTML(五)图像基础样式
前端·javascript·css·网络·bootstrap·html·ecmascript
爱上语文5 小时前
前端成长之路:HTML(4)
前端·html
余子桃6 小时前
VUE在TS中变量或函数穿透在别的页面进行调用
前端·javascript·vue.js·前端框架·ecmascript
java_heartLake6 小时前
Vue3之响应式系统详解
前端·javascript·vue.js
NoneCoder6 小时前
CSS系列(15)-- 性能优化详解
前端·css·性能优化
徐小夕7 小时前
开发在线协同文档编辑器,分享几点我的思考
前端·javascript·vue.js