一、作业要求:使用js完成抽奖项目 效果和内容自定义,可以模仿游戏抽奖页面

二、代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>游戏抽奖</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}body {font-family: 'Microsoft YaHei', sans-serif;background-color: rgb(247, 246, 246);}h2 {text-align: center;margin: 20px 0;color: red;font-size: 28px;}.container {max-width: 800px;margin: 0 auto;padding: 20px;background-color: white;border-radius: 10px;box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);}.box {display: flex;align-items: center;margin: 30px 0;font-size: 22px;line-height: 40px;}.qs {flex: 1;height: 60px;color: red;font-weight: bold;display: flex;align-items: center;justify-content: center;background-color: #f9f9f9;border-radius: 5px;border: 2px dashed #ddd;transition: all 0.3s;padding: 0 10px;}.qs.active {animation: pulse 0.5s infinite alternate;border-color: red;}@keyframes pulse {from { transform: scale(1); }to { transform: scale(1.02); }}.btns {text-align: center;margin: 30px 0;display: flex;justify-content: center;gap: 20px;}.btns button {width: 150px;height: 45px;font-size: 16px;border: none;border-radius: 5px;cursor: pointer;transition: all 0.3s;}.start {background-color: greenyellow;color: white;}.start:hover {background-color: green;}.end {background-color: orangered;color: white;}.end:hover {background-color: rgb(183, 74, 74);}.reset {background-color: rgb(60, 52, 171);color: white;}.reset:hover {background-color: rgb(117, 117, 225);}button:disabled {background-color: rgb(74, 158, 146);cursor: not-allowed;}.selected {margin: 30px 0;}.list {display: flex;flex-wrap: wrap;gap: 10px;margin-top: 10px;}.prize-item {background-color: red;color: white;padding: 8px 15px;border-radius: 20px;font-size: 16px;animation: fadeIn 0.5s;}@keyframes fadeIn {from { opacity: 0; transform: translateY(20px); }to { opacity: 1; transform: translateY(0); }}</style>
</head>
<body><div class="container"><h2>抽奖</h2><div class="box"><span>当前奖品:</span><div class="qs" id="prizeDisplay">点击开始抽奖</div></div><div class="btns"><button class="start" id="startBtn">开始抽奖</button><button class="end" id="endBtn" disabled>停止抽奖</button><button class="reset" id="resetBtn">重置抽奖</button></div><div class="selected"><span>已获奖品:</span><div class="list" id="prizeList"></div></div></div><script>// 奖品池(已移除数量限制)const prizes = ['一张5000万的银行卡','两百万现金','平板','一辆越野车','一棵黄金发财树','腾讯永久会员','机械键盘*10','鼠标*10','RTX 5090D显卡','谢谢参与','再来一次'];let timerId = 0;let currentPrizeIndex = 0;const prizeDisplay = document.getElementById('prizeDisplay');const prizeList = document.getElementById('prizeList');const startBtn = document.getElementById('startBtn');const endBtn = document.getElementById('endBtn');const resetBtn = document.getElementById('resetBtn');// 初始化startBtn.addEventListener('click', startLottery);endBtn.addEventListener('click', stopLottery);resetBtn.addEventListener('click', resetLottery);function startLottery() {startBtn.disabled = true;endBtn.disabled = false;prizeDisplay.classList.add('active');// 快速滚动效果timerId = setInterval(() => {currentPrizeIndex = Math.floor(Math.random() * prizes.length);prizeDisplay.textContent = prizes[currentPrizeIndex];}, 100);}function stopLottery() {clearInterval(timerId);prizeDisplay.classList.remove('active');startBtn.disabled = false;endBtn.disabled = true;const prizeName = prizes[currentPrizeIndex];addWonPrize(prizeName);}function addWonPrize(prize) {const prizeItem = document.createElement('div');prizeItem.className = 'prize-item';prizeItem.textContent = prize;prizeList.appendChild(prizeItem);}function resetLottery() {clearInterval(timerId);prizeList.innerHTML = '';prizeDisplay.textContent = '点击开始抽奖';prizeDisplay.classList.remove('active');startBtn.disabled = false;endBtn.disabled = true;}</script>
</body>
</html>

3、运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/918831.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918831.shtml
英文地址,请注明出处:http://en.pswp.cn/news/918831.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wrap cpp variant as dll for c to use

包装c的variant给c用 variant_wrapper.cpp #include <variant> #include <unordered_map> #include <cstring> #include <cstdio> #include <new> #include <memory> #include <functional> #include <cstdlib>// 类型ID定义 …

GraphRAG查询(Query)流程实现原理分析

文章目录说明一 GraphRAG查询&#xff08;Query&#xff09;流程二 Local Search 实现原理三 Global Search 实现原理四 GraphRAG Python API使用说明 本文学自赋范社区公开课&#xff0c;仅供学习和交流使用&#xff01;本文重在介绍GraphRAG查询流程&#xff0c;有关索引构建…

服务器的安全检测和防御技术

1. 服务器安全风险1.1 不必要的访问&#xff08;如只提供HTTP服务&#xff09;若服务器仅需提供 HTTP 服务&#xff0c;却开放了其他不必要的访问途径&#xff0c;会增加风险。通过应用识别、控制&#xff0c;可精准识别应用类型&#xff0c;限制非必要访问&#xff0c;保障服务…

FileLink:为企业跨网文件传输筑牢安全与效率基石

FileLink&#xff1a;为企业跨网文件传输筑牢安全与效率基石在企业数据往来日益频繁的今天&#xff0c;跨网文件传输的安全性和高效性是企业顺畅运营的关键。传统传输方式在安全防护、系统融合及成本控制上的短板愈发明显&#xff0c;而 FileLink 凭借在这些方面的突出表现&…

java设计模式之开闭原则使用举例

1. 输入法皮肤扩展&#xff08;抽象类实现&#xff09; 场景&#xff1a;用户可为输入法更换不同皮肤&#xff08;如默认皮肤、CSDN皮肤&#xff09;。 实现&#xff1a; 抽象层&#xff1a;定义抽象类AbstractSkin&#xff0c;声明皮肤显示方法。扩展&#xff1a;新增皮肤只需…

Spark Shuffle机制原理

文章目录1.什么是Shuffle?2.Shuffle解决什么问题?3.Shuffle Write与Shuffle Read4.Shuffle的计算需求4.1 计算需求表4.2 partitionby4.3 groupByKey4.4 reduceByKey4.5 sortByKey5.Shuffle Write框架设计与实现5.1 Shuffle Write框架实现的功能5.2 Shuffle Write的多种情况5.…

Cursor vs Trae vs VSCode:2025终极IDE横评,谁才是开发者的效率之选?

前言 2025年的编程世界&#xff0c;AI不再只是辅助&#xff0c;而是编程工作流的核心驱动者。从微软的VSCode 到新锐 Cursor 与国产黑马 Trae &#xff0c;三大 IDE 正在重新定义“人机协作”的边界。本文从架构设计、AI能力、场景适配等维度&#xff0c;带你看透工具本质&…

Vue 安装指定版本依赖包、删除某个依赖包、依赖管理

如何安装指定版本的依赖包安装指定版本&#xff1a;一旦你知道了想要的版本号&#xff0c;比如3.4.0&#xff0c;你可以使用以下命令来安装这个版本的vue-router&#xff1a;npm install vue-router3.4.0 --save这里的^表示安装3.4.0的最新小版本更新&#xff0c;但不会超过主版…

psycopg2 如何验证链接是否有效

在 psycopg2 中&#xff0c;验证数据库连接是否有效&#xff08;即连接是否仍然活跃&#xff09;可以通过以下几种方法实现&#xff1a;1. 使用 conn.closed 属性 psycopg2 的连接对象有一个 closed 属性&#xff0c;可以检查连接是否已关闭&#xff1a; import psycopg2conn …

数据科学与计算-电商双11美妆数据分析

一、项目背景&#xff1a;双 11 美妆数据的价值所在 每年的 “双 11” 购物节都是电商行业的盛宴&#xff0c;而美妆品类作为消费热门领域&#xff0c;蕴含着丰富的用户行为与市场趋势信息。该项目聚焦双 11 期间的美妆电商数据&#xff0c;旨在通过数据分析揭示以下核心问题&…

简单了解MongoDB数据存储

官方文档&#xff1a;MongoDB中文手册|官方文档中文版 | MongoDB-CN-Manual 什么是MongoDB? MongnDB是一个分布式文件存储数据库(或叫文档数据库)&#xff0c;是一个介于 关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系数…

web网站开发,在线%射击比赛成绩管理%系统开发demo,基于html,css,jquery,python,django,model,orm,mysql数据库

经验心得 这个也是crud业务单子&#xff0c;第二个聊点其他的&#xff0c;从最早的无分层开发&#xff0c;到三层开发&#xff0c;工厂&#xff0c;各种接口&#xff0c;再到后面多层&#xff0c;代码无痕aop&#xff0c;各种框架等&#xff0c;都是在方便我们快速打架一个程序…

[QtADS]解析ads.pro

本文来源 &#xff1a; 腾讯元宝subdirs : 子目录TEMPLATE subdirs的作用​​​​核心功能​​&#xff1a;声明当前项目为“多项目管理”模式。Qt 的构建系统&#xff08;qmake&#xff09;会遍历 SUBDIRS中列出的子目录&#xff0c;在每个子目录中寻找 .pro文件并递归构建。…

三方相机问题分析六:【没用相机,诡异的手电筒不可使用】下拉状态栏,手电筒置灰,无法打开,提提示相机正在使用

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 三方相机问题分析六:【没用相机,诡异的手电筒不可使用】下拉状态栏,点击手电筒,手电筒置灰,无法打开,提提示相机正在使用9348353 目录 一、问题背景 二、:问题分析过程 2.1:基于…

Java Selenium 自动打开浏览器保存截图

// 代码 public class ScreenshotExample {public static void main(String[] args) {// 1. 设置浏览器驱动路径&#xff08;根据实际路径修改&#xff09;System.setProperty("webdriver.chrome.driver", "D:\\chromedriver-win64\\chromedriver.exe");//…

新商机:为了减少辐射,可以用座机打机房中心再转手机

某些人痛恨自家附近有基站&#xff0c;说是辐射太大。你不能说人家迷信。一般解决办法就是拆基站。而我觉得&#xff0c;商机来了。现在座机基本没人装了。新商机就是座机。附近没有基站&#xff0c;又要打电话&#xff0c;怎么办&#xff1f;装座机。用座机打电话时&#xff0…

【Java|第十九篇】面向对象九——String类和枚举类

&#xff08;四&#xff09;面向对象11、String类&#xff08;1&#xff09;概述<1>String是一个类&#xff0c;引用数据类型&#xff0c;用来表示字符串&#xff1b;<2>String是Lang包下的类&#xff0c;使用不需要导包&#xff1b;<3>字符串的值不能变&…

超越相似名称:Elasticsearch semantic text 如何在简洁、高效、集成方面超越 OpenSearch semantic 字段

作者&#xff1a;来自 Elastic Mike Pellegrini, Nick Chow 及 Libby Lin 比较 Elasticsearch 语义文本和 OpenSearch 语义字段在简洁性、可配置性和效率方面的表现。 自己动手体验向量搜索&#xff0c;使用这个自定进度的 Search AI 实操学习。你现在可以开始免费的云试用&am…

OpenAI发布最新大模型GPT5、本地部署GPT开源模型

OpenAI发布最新大模型GPT5、本地部署GPT开源模型 GPT-5概述 北京时间 2025年8月8日 凌晨1点 OPENAI举行了1个小时的线上发布会&#xff0c;正式推出了其史上最聪明、最强大的大模型GPT-5。 GPT-5是OpenAI发布的最新一代大型语言模型&#xff0c;它基于Transformer架构&#xff…

容器网络模式选择在云服务器多节点部署中的连通性验证方案

容器网络模式选择在云服务器多节点部署中的连通性验证方案在云计算环境中&#xff0c;容器网络模式的选择直接影响着多节点部署的通信效率和安全性。本文将从Docker原生网络驱动对比入手&#xff0c;深入分析Overlay、Host、Bridge等主流网络模式在跨主机通信场景下的性能表现&…