JavaScript實(shí)現(xiàn)九宮格抽獎(jiǎng)功能的示例代碼
效果圖
話不多說,直接上效果:

實(shí)現(xiàn)流程
主要流程為:
1. 根據(jù)效果圖,構(gòu)建靜態(tài)頁(yè)面
2. 獲取元素(自帶的屬性)
3. 綁定事件
4. 事件觸發(fā)之后
4.1 所有的li元素 在指定的時(shí)間間隔下 顏色隨機(jī)變化
4.2 延時(shí)器 2秒后 清除定時(shí)器
4.3 在清除定時(shí)器之后,所有的li背景色復(fù)位,隨機(jī)選一個(gè)
主要代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>抽獎(jiǎng)</title>
<style>
* {
margin: 0;
padding: 0;
list-style: none;
}
#box {
width: 240px;
margin: 30px auto;
border: 1px solid #ccc;
}
ul li {
width: 60px;
height: 60px;
line-height: 30px;
text-align: center;
margin: 10px;
float: left;
background-color: orange;
color: white;
}
/* 清浮動(dòng) */
ul:after {
content: "";
display: block;
clear: both;
}
p {
margin: 20px auto;
text-align: center;
}
.btn {
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
border: none;
background-color: skyblue;
}
</style>
</head>
<body>
<div id="box">
<ul>
<li>禮品1</li>
<li>禮品2</li>
<li>禮品3</li>
<li>禮品4</li>
<li>禮品5</li>
<li>禮品6</li>
<li>禮品7</li>
<li>禮品8</li>
<li>禮品9</li>
</ul>
<p><button onclick="alert(123)" title="按鈕">開始抽獎(jiǎng)</button></p>
</div>
</body>
<script>
var btn = document.getElementsByTagName("button")[0];
btn.className = "btn";
// 通過標(biāo)簽名 獲取元素
var lis = document.getElementsByTagName("li");
// 為元素綁定單擊事件
btn.onclick = function () {
// 禁用按鈕
btn.disabled = true;
var timer = setInterval(function () {
for (var i = 0; i < lis.length; i++) {
lis[i].style.backgroundColor = getColor();
}
}, 100);
// 使用延時(shí)器 清除定時(shí)器
setTimeout(function (){
clearInterval(timer)
for (var i = 0; i < lis.length; i++) {
lis[i].style.backgroundColor = "orange"
}
var index = Math.floor( Math.random() * lis.length )
lis[index].style.backgroundColor = "red";
// 啟用按鈕
btn.disabled = false;
}, 2000)
}
// 隨機(jī)顏色的函數(shù)
function getColor() {
return "#" + Math.random().toString(16).substr(2, 6);
}
</script>
</html>
以上就是JavaScript實(shí)現(xiàn)九宮格抽獎(jiǎng)功能的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于JavaScript九宮格抽獎(jiǎng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript獲取IP獲取的是IPV6 如何校驗(yàn)
項(xiàng)目中遇到了關(guān)于IPV6的一些問題,特意做一個(gè)專輯說明一下,希望能夠幫助有需要的同學(xué)!2016-06-06
關(guān)于javascript DOM事件模型的兩件事
DOM事件模型的兩件事:事件捕捉(Event Capture)的實(shí)現(xiàn)問題以及IE的高級(jí)事件處理模型的問題。2010-07-07
javascript實(shí)現(xiàn)html頁(yè)面之間參數(shù)傳遞的四種方法實(shí)例分析
這篇文章主要介紹了javascript實(shí)現(xiàn)html頁(yè)面之間參數(shù)傳遞的四種方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了JavaScript實(shí)現(xiàn)頁(yè)面之間參數(shù)傳遞的常用技巧,需要的朋友可以參考下2015-12-12
js通過audioContext實(shí)現(xiàn)3D音效
這篇文章主要為大家詳細(xì)介紹了js通過audioContext實(shí)現(xiàn)3D音效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
layui 富文本圖片上傳接口與普通按鈕 文件上傳接口的例子
今天小編就為大家分享一篇layui 富文本圖片上傳接口與普通按鈕 文件上傳接口的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09

