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

wed前端第三次作业

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

1、相关代码

<!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;}h2 {text-align: center;}.box {width: 600px;margin: 50px auto;display: flex;font-size: 25px;line-height: 40px;}.qs {width: 450px;height: 40px;color: red;}.btns {text-align: center;}.btns button {width: 120px;height: 35px;margin: 0 50px;}.selected {width: 600px;margin: 50px auto;display: flex;font-size: 25px;line-height: 40px;}.list {color: red;}</style>
</head>
<body><h2>随机抽奖</h2><div class="box"><span>当前奖品:</span><div class="qs">点击开始抽奖</div></div><div class="btns"><button class="start">开始</button><button class="end">结束</button></div><div class="selected"><span>已获奖品:</span><div class="list"></div></div><script>// 奖品池 const prizes = ['iPhone 15 Pro','Switch 游戏机','小米平板 6','100 元话费','蓝牙耳机','腾讯视频年卡','机械键盘','充电宝','抱枕','谢谢参与','再来一次'];let timerId = 0;let random    = 0;const qs      = document.querySelector('.qs');const listBox = document.querySelector('.list');const start   = document.querySelector('.start');const end     = document.querySelector('.end');start.addEventListener('click', () => {if (prizes.length <= 1) {start.disabled = end.disabled = true;return;}timerId = setInterval(() => {random = Math.floor(Math.random() * prizes.length);qs.textContent = prizes[random];}, 100);});end.addEventListener('click', () => {clearInterval(timerId);const prize = prizes.splice(random, 1)[0]; showPrize(prize);});function showPrize(prize) {const div = document.createElement('div');div.textContent = prize;listBox.appendChild(div);}</script>
</body>
</html>

2、运行结果

可以连续抽奖十次

http://www.dtcms.com/a/325987.html

相关文章:

  • 营销 “远交近攻”:开辟市场新天地-中小企实战运营和营销工作室博客
  • MySQL数据库简介
  • 【基本有序数组中找到有且仅有的一个无序元素并进行排序之顺序法】2022-10-12
  • 贪心----3. 跳跃游戏 II
  • 计算机网络:1、OSI参考模型和TCP/IP模型
  • 天塌了!HCIE数通实验预计今年Q4变题,难度再上升?!
  • Linux ethernet驱动移植之常见问题
  • 【Docker-Day 13】超越默认Bridge:精通Docker Host、None与自定义网络模式
  • 从 0 到 1:用 MyCat 打造可水平扩展的 MySQL 分库分表架构
  • 【算法专题训练】11、字符串中的变位词
  • 类和对象(中上)
  • 计算机网络---DNS(域名系统)
  • Go 语言中的切片排序:从原理到实践玩转 sort 包
  • 【第四章:大模型(LLM)】05.LLM实战: 实现GPT2-(6)贪婪编码,temperature及tok原理及实现
  • 云服务器部署SSM项目
  • 逻辑备份恢复工具gs_dump/gs_restore
  • Apache Ignite分片线程池深度解析
  • app,h5,微信,携带传递参数的两种方法getCurrentPages()
  • LAMP/LNMP示例
  • Unknown collation: ‘utf8mb4_0900_ai_ci‘
  • thymeleaf 日期格式化显示
  • 基于 ZooKeeper 的分布式锁实现原理是什么?
  • Vue 利用el-table和el-pagination组件,简简单单实现表格前端分页
  • 【数据库】如何使用一款轻量级数据库SqlSugar进行批量更新,以及查看最终的Sql操作语句
  • QT_QUICK_BACKEND 环境变量详解(AI生成)
  • Linux中配置DNS
  • 在 Rocky Linux 9.2 上使用 dnf 安装 Docker 全流程详解
  • 高并发场景下抢单业务解决方案实现(乐观锁 + 分布式锁)
  • Python洛谷做题31:P5726 【深基4.习9】打分
  • A2O MAY确认发行新曲《B.B.B (Bigger Badder Better)》 8月13日强势回归!