当前位置: 首页 > news >正文

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 {margin: 0;padding: 20px;background-color: #f5f5f5;display: flex;flex-direction: column;align-items: center;font-family: Arial, sans-serif;}.wheel-container {width: 300px;height: 300px;position: relative;margin: 20px 0;}.wheel {width: 100%;height: 100%;border-radius: 50%;border: 8px solid #ff6b6b;position: relative;overflow: hidden;transition: transform 5s ease;}.section {position: absolute;width: 50%;height: 50%;transform-origin: bottom right;}.section span {position: absolute;width: 100px;top: 50px;left: 20px;color: white;font-weight: bold;transform-origin: center;}.pointer {position: absolute;top: -15px;left: 140px;width: 0;height: 0;border-left: 15px solid transparent;border-right: 15px solid transparent;border-top: 30px solid #ff6b6b;z-index: 10;}.center-btn {position: absolute;top: 120px;left: 120px;width: 60px;height: 60px;border-radius: 50%;background-color: #ff6b6b;border: 4px solid #ff4757;color: white;font-weight: bold;cursor: pointer;display: flex;align-items: center;justify-content: center;z-index: 5;}#drawBtn {padding: 10px 20px;background-color: #48dbfb;border: none;border-radius: 5px;color: white;font-weight: bold;cursor: pointer;margin-top: 10px;}#drawBtn:disabled {background-color: #b2bec3;cursor: not-allowed;}.modal {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0,0,0,0.7);display: none;align-items: center;justify-content: center;}.modal-content {background-color: white;padding: 20px;border-radius: 10px;text-align: center;width: 250px;}.modal button {padding: 8px 15px;background-color: #48dbfb;border: none;border-radius: 5px;color: white;cursor: pointer;}</style>
</head>
<body><div class="wheel-container"><div class="wheel" id="wheel"><div class="section" style="background-color: #ff9ff3; transform: rotate(0deg);"><span style="transform: rotate(30deg);">一等奖</span></div><div class="section" style="background-color: #feca57; transform: rotate(60deg);"><span style="transform: rotate(90deg);">二等奖</span></div><div class="section" style="background-color: #1dd1a1; transform: rotate(120deg);"><span style="transform: rotate(150deg);">三等奖</span></div><div class="section" style="background-color: #54a0ff; transform: rotate(180deg);"><span style="transform: rotate(210deg);">四等奖</span></div><div class="section" style="background-color: #5f27cd; transform: rotate(240deg);"><span style="transform: rotate(270deg);">五等奖</span></div><div class="section" style="background-color: #ee5253; transform: rotate(300deg);"><span style="transform: rotate(330deg);">参与奖</span></div></div><div class="pointer"></div><div class="center-btn" id="centerBtn">抽奖</div></div><button id="drawBtn">开始抽奖</button><div class="modal" id="resultModal"><div class="modal-content"><h3>恭喜您!</h3><p id="resultText">获得了一等奖!</p><button id="closeBtn">确定</button></div></div><script>const wheel = document.getElementById('wheel');const centerBtn = document.getElementById('centerBtn');const drawBtn = document.getElementById('drawBtn');const resultModal = document.getElementById('resultModal');const resultText = document.getElementById('resultText');const closeBtn = document.getElementById('closeBtn');const prizes = ['一等奖', '二等奖', '三等奖', '四等奖', '五等奖', '参与奖'];let isSpinning = false;let rotation = 0;centerBtn.addEventListener('click', startDraw);drawBtn.addEventListener('click', startDraw);closeBtn.addEventListener('click', () => {resultModal.style.display = 'none';});function startDraw() {if (isSpinning) return;isSpinning = true;centerBtn.textContent = '转动中';drawBtn.disabled = true;const randomRotate = 1080 + Math.floor(Math.random() * 1080);rotation += randomRotate;wheel.style.transform = `rotate(${rotation}deg)`;setTimeout(() => {const prizeIndex = getPrizeIndex();resultText.textContent = `获得了${prizes[prizeIndex]}!`;resultModal.style.display = 'flex';isSpinning = false;centerBtn.textContent = '抽奖';drawBtn.disabled = false;}, 5000); }function getPrizeIndex() {const angle = rotation % 360;const normalizedAngle = (360 - angle) % 360;return Math.floor(normalizedAngle / 60);}</script>
</body>
</html>

实现

http://www.lryc.cn/news/619283.html

相关文章:

  • 腾讯位置商业授权微信小程序关键词输入提示
  • Flink DataStream 按分钟或日期统计数据量
  • 深度学习——03 神经网络(3)-网络优化方法
  • 基于Apache Flink的实时数据处理架构设计与高可用性实战经验分享
  • 搜索引擎核心机制解析
  • 美团搜索推荐统一Agent之性能优化与系统集成
  • 云计算-OpenStack 实战运维:从组件配置到故障排查(含 RAID、模板、存储管理,网络、存储、镜像、容器等)
  • Flink中的窗口
  • HTML5 Canvas实现数组时钟代码,适用于wordpress侧边栏显示
  • 方法论基础。
  • 设计秒杀系统从哪些方面考虑
  • 从零开始:用PyTorch实现线性回归模型
  • 比特币与区块链:去中心化的技术革命
  • VUE2连接USB打印机
  • Pytorch FSDP权重分片保存与合并
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day3
  • 【Qt开发】常用控件(三) -> geometry
  • 疏老师-python训练营-Day44预训练模型
  • php7 太空船运算符
  • Linux 软件编程:文件IO、目录IO、时间函数
  • 适配安卓15(对应的sdk是35)
  • RxJava 在 Android 中的深入解析:使用、原理与最佳实践
  • 大牌点餐接口api对接全流程
  • 《吃透 C++ 类和对象(中):构造函数与析构函数的核心逻辑》
  • Ubuntu22.04轻松安装Qt与OpenCV库
  • 药房智能盘库系统的Python编程分析与实现—基于计算机视觉与时间序列预测的智能库存管理方案
  • 基于大数据spark的医用消耗选品采集数据可视化分析系统【Hadoop、spark、python】
  • 分段锁和限流的间接实现
  • 通信中间件 Fast DDS(一) :编译、安装和测试
  • 机器学习—— TF-IDF文本特征提取评估权重 + Jieba 库进行分词(以《红楼梦》为例)