【经典】抽奖系统(HTML,CSS、JS)

目录

1、添加参与者

2、多次添加

3、点击抽奖

功能介绍:

使用方法:

完整代码:


一个简单但功能强大的抽奖系统的示例,用于在网页上实现抽奖。

1、添加参与者

2、多次添加

3、点击抽奖


功能介绍:

  1. 参与者添加
    • 用户可以输入参与者名字并点击"添加参与者"按钮将其加入列表。
    • 添加的名字会显示在页面下方的列表中。
  2. 开始抽奖
    • 点击"开始抽奖"按钮,系统会随机从已添加的参与者中选出一个作为中奖者。
    • 抽奖结果会显示在页面上。
  3. 动态更新
    • 参与者列表动态更新,显示所有参与者的序号和名字。

使用方法:

  1. 打开浏览器,保存并运行此HTML文件。
  2. 输入参与者名字并点击"添加参与者"。
  3. 点击"开始抽奖",查看中奖结果。

完整代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<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;
            background-color: #f4f4f9;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100vh;
        }
        .container {
            text-align: center;
            padding: 20px;
            background: white;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        .title {
            font-size: 24px;
            font-weight: bold;
            margin-bottom: 20px;
        }
        .input-area {
            margin-bottom: 20px;
        }
        input, button {
            padding: 10px;
            margin: 5px;
            border-radius: 5px;
            border: 1px solid #ddd;
            font-size: 16px;
        }
        button {
            background: #007BFF;
            color: white;
            cursor: pointer;
        }
        button:hover {
            background: #0056b3;
        }
        .result {
            font-size: 18px;
            color: #28a745;
            margin-top: 20px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="title">高级抽奖系统</div>
        <div class="input-area">
            <input type="text" id="participant" placeholder="输入参与者名字">
            <button onclick="addParticipant()">添加参与者</button>
        </div>
        <div>
            <button onclick="startLottery()">开始抽奖</button>
        </div>
        <div class="result" id="result"></div>
        <ul id="participantsList"></ul>
    </div>

    <script>
        const participants = [];
        
        function addParticipant() {
            const input = document.getElementById('participant');
            const name = input.value.trim();
            if (name) {
                participants.push(name);
                updateParticipantsList();
                input.value = '';
            } else {
                alert('请输入有效的名字!');
            }
        }
        
        function updateParticipantsList() {
            const list = document.getElementById('participantsList');
            list.innerHTML = '';
            participants.forEach((name, index) => {
                const li = document.createElement('li');
                li.textContent = `${index + 1}. ${name}`;
                list.appendChild(li);
            });
        }

        function startLottery() {
            if (participants.length === 0) {
                alert('请先添加参与者!');
                return;
            }
            const winnerIndex = Math.floor(Math.random() * participants.length);
            const winner = participants[winnerIndex];
            document.getElementById('result').textContent = `恭喜 ${winner} 中奖!`;
        }
    </script>
</body>
</html>

如果需要更多高级功能,例如奖品设置、多轮抽奖等,可以进一步扩展逻辑!


嗨,我是命运之光。如果你觉得我的分享有价值,不妨通过以下方式表达你的支持:👍 点赞来表达你的喜爱,📁 关注以获取我的最新消息,💬 评论与我交流你的见解。我会继续努力,为你带来更多精彩和实用的内容。

点击这里👉 ,获取最新动态,⚡️ 让信息传递更加迅速。

相关推荐
平头哥技术团队7 小时前
Day 21 _ 页内锚点_给每段起个 id,目录写 href=_#id_,点一下页面就滚到那一段
前端·html·html5
bug总结9 小时前
uniapp vue3全局方法注册使用
前端·javascript·uni-app
华无丽言9 小时前
如何在宜搭中实现获取子表中的字段值赋值到父表中?
前端·javascript·低代码
2601_9623824310 小时前
剑指大前端全栈工程师(全2册)主要情节
javascript·实战案例·全栈工程师·剑指大前端·html5+css3
泯泷11 小时前
手搓JSVM第 12 篇:完整最小 JSVM 实现与源码设计复盘
前端·javascript·前端框架
默_笙11 小时前
🍔 给 AI 发一张结构化表格(下):从"自由发挥"到"按格填空"的输出驯服指南
前端·javascript
泯泷11 小时前
手搓JSVM第 11 篇:打包、模块与 CLI:把 VM 产物变成可运行文件
前端·javascript·前端框架
泯泷11 小时前
手搓JSVM第 10 篇:对象、数组与属性访问
前端·javascript·前端框架
泯泷12 小时前
手搓JSVM第 9 篇:闭包:函数如何记住外部变量
前端·javascript·前端框架
晴天1612 小时前
前端 SSR、BFF 原理介绍
前端·javascript·网络·html