js實現(xiàn)簡單的抽獎系統(tǒng)
一個用js編寫的簡單的抽獎系統(tǒng),供大家參考,具體內(nèi)容如下
效果圖如圖所示:字節(jié)帶閃動,點(diǎn)擊開始,可進(jìn)行抽獎,并且按鈕變?yōu)榻Y(jié)束按鈕,然后點(diǎn)擊結(jié)束按鈕,可以結(jié)束,并抽獎成功。
代碼如下:
<!DOCTYPE html> <html> ?? ?<head> ?? ??? ?<meta charset="UTF-8"> ?? ??? ?<title>抽獎</title> ?? ??? ?<style type="text/css"> ?? ??? ??? ?table { ?? ??? ??? ??? ?width: 400px; ?? ??? ??? ??? ?height: 400px; ?? ??? ??? ??? ?border: gray solid 1px; ?? ??? ??? ??? ?border-collapse: collapse; ?? ??? ??? ??? ?text-align: center; ?? ??? ??? ??? ?margin: 0 auto; ?? ??? ??? ??? ?margin-top: 100px; ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?.td { ?? ??? ??? ??? ?border: gray solid 1px; ?? ??? ??? ??? ?background-color: lightskyblue; ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?.td1 { ?? ??? ??? ??? ?border: gray solid 1px; ?? ??? ??? ??? ?background-color: red; ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?td:hover { ?? ??? ??? ??? ?background-color: cornflowerblue; ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?div { ?? ??? ??? ??? ?width: 100px; ?? ??? ??? ??? ?height: 40px; ?? ??? ??? ??? ?margin-left: auto; ?? ??? ??? ??? ?margin-right: auto; ?? ??? ??? ??? ?margin-top: 20px; ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?#btn { ?? ??? ??? ??? ?width: 100px; ?? ??? ??? ??? ?height: 40px; ?? ??? ??? ?} ?? ??? ??? ?#blink{ ?? ??? ??? ??? ?width: 300px; ?? ??? ??? ??? ?height: 90px; ?? ??? ??? ??? ?margin-left: auto; ?? ??? ??? ??? ?margin-right: auto; ?? ??? ??? ??? ?margin-top: 20px; ?? ??? ??? ??? ?font-size: 70px; ?? ??? ??? ??? ?font: "微軟雅黑"; ?? ??? ??? ??? ?text-align: center; ?? ??? ??? ??? ?font-weight: bold; ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ?</style> ?? ?</head> ?? ?<body> ?? ??? ?<div id="blink"> ?? ??? ??? ?抽 ?獎 了 ?? ??? ?</div> ?? ??? ?<table> ?? ??? ?</table> ?? ??? ?<div> ?? ??? ??? ?<input type="button" id="btn" value="開始" onclick="click1()" /> ?? ??? ?</div> ?? ?</body> ?? ?<script type="text/javascript"> ?? ??? ?/*利用二維數(shù)據(jù)+dom操作*/ ?? ??? ?var interval = 0; ?? ??? ?var table = document.querySelector("table"); ?? ??? ?var arr = [ ?? ??? ??? ?[1, 2, 3, 4, 5], ?? ??? ??? ?[6, 7, 8, 9, 10], ?? ??? ??? ?[11, 12, 13, 14, 15], ?? ??? ??? ?[16, 17, 18, 19, 20], ?? ??? ??? ?[21, 22, 23, 24, 25] ?? ??? ?] ?? ??? ?for(var i in arr) { ?? ??? ??? ?var tr = table.insertRow(); ?? ??? ??? ?for(var j in arr[i]) { ?? ??? ??? ??? ?var td = tr.insertCell(); ?? ??? ??? ??? ?td.setAttribute("class", "td"); ?? ??? ??? ??? ?td.innerHTML = arr[i][j]; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?//獲取所有的td標(biāo)簽數(shù)組 ?? ??? ?var count = document.querySelectorAll("td"); ?? ??? ?function click1() { ?? ??? ??? ?//找到當(dāng)前按鈕 ?? ??? ??? ?var btn = document.querySelector("#btn"); ?? ??? ??? ?//判斷按鈕狀態(tài) ?? ??? ??? ?if(btn.value == '開始') { ?? ??? ??? ??? ?//點(diǎn)解后修改背景顏色 ?? ??? ??? ??? ?btn.style.backgroundColor = "red"; ?? ??? ??? ??? ?//修改按鈕文字 ?? ??? ??? ??? ?btn.value = "結(jié)束"; ?? ??? ??? ??? ?//停止繼續(xù)調(diào)用setInterval函數(shù)進(jìn)行抽獎 ?? ??? ??? ??? ?clearInterval(interval); ?? ??? ??? ??? ?interval = setInterval(function() { ?? ??? ??? ??? ??? ?var rad = Math.floor(Math.random() * 25); ?? ??? ??? ??? ??? ?for(var i = 0; i < count.length; i++) { ?? ??? ??? ??? ??? ??? ?//通過遍歷來重新給表設(shè)置樣式 ?? ??? ??? ??? ??? ??? ?count[i].setAttribute("class", "td"); ?? ??? ??? ??? ??? ??? ?if(rad === i) { ?? ??? ??? ??? ??? ??? ??? ?//給抽到的人改變樣式 ?? ??? ??? ??? ??? ??? ??? ?count[i].setAttribute('class', 'td1'); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?}, 100) ?? ??? ??? ?} else { ?? ??? ??? ??? ?//設(shè)置背景顏色 ?? ??? ??? ??? ?btn.style.backgroundColor = "gainsboro"; ?? ??? ??? ??? ?//修改按鈕文字 ?? ??? ??? ??? ?btn.value = "開始"; ?? ??? ??? ??? ?clearInterval(interval); ?? ??? ??? ?} ?? ??? ?} ?? ??? ?function changeColor() { ?? ??? ??? ?var color = "#f00|#0f0|#00f|#880|#808|#088|yellow|green|blue|gray"; ?? ??? ??? ?color = color.split("|"); ?? ??? ??? ?document.getElementById("blink").style.color = color[parseInt(Math.random() * color.length)]; ?? ??? ?} ?? ??? ?setInterval("changeColor()", 200); ?? ?</script> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript滾動條屬性scrollTop和scrollHeight
在開發(fā)中我們常常會用到判斷滾動條是否觸底的邏輯,我一般都會在網(wǎng)上搜一段代碼,這段代碼有用到scrollTop、clientHeight、 scrollHeight,這篇文章主要給大家介紹了關(guān)于JavaScript滾動條屬性scrollTop和scrollHeight的相關(guān)資料,需要的朋友可以參考下2023-11-11js判斷手機(jī)端(Android手機(jī)還是iPhone手機(jī))
現(xiàn)在使用手機(jī)上網(wǎng)的人越來越多,一些下載網(wǎng)站會通過判斷不同系統(tǒng)手機(jī)來訪問不同網(wǎng)頁,比如iPhone和Android。下面我們就來介紹一下如何用javascript判斷iPhone或Android手機(jī)訪問2015-07-07解決layui 復(fù)選框等內(nèi)置控件不顯示的問題
今天小編就為大家分享一篇解決layui 復(fù)選框等內(nèi)置控件不顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08JavaScript實現(xiàn)扯網(wǎng)動畫效果的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript語言實現(xiàn)扯網(wǎng)動畫效果,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)JS有一定的幫助,需要的可以參考一下2022-06-06ES6使用Set數(shù)據(jù)結(jié)構(gòu)實現(xiàn)數(shù)組的交集、并集、差集功能示例
這篇文章主要介紹了ES6使用Set數(shù)據(jù)結(jié)構(gòu)實現(xiàn)數(shù)組的交集、并集、差集功能,結(jié)合實例形式分析了ES6中Set數(shù)據(jù)結(jié)構(gòu)的相關(guān)函數(shù)與實現(xiàn)數(shù)組交集、并集、差集的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10