web前端第三次作業

一、作業要求:使用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等主流網絡模式在跨主機通信場景下的性能表現&…