js抽獎
js簡易抽獎
今天講下js抽獎
流程圖:
程式碼部分
首先是html部分和css佈區域性分
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
body {
margin: 0;
}
.prize {
width: 300px;
height: 300px;
margin: 50px auto 0 auto;
position: relative;
background: lightgoldenrodyellow;
}
.prize span {
display: block;
width: 100px;
height: 100px;
border: 1px solid #fff;
position: absolute;
text-align: center;
line-height: 80px;
background: lightsalmon;
font-style: normal;
color: #fff;
}
.btn {
position: absolute;
top: 50%;
left: 50%;
width: 80px;
height: 80px;
border-radius: 50%;
border: none;
margin-left: -40px;
margin-top: -40px;
background: lightsalmon;
outline: none;
font-family: "微軟雅黑", Arial, sans-serif;
font-weight: bold;
font-size: 18px;
color: #fff;
cursor: pointer;
}
.prize span.active {
background: lightcoral;
color: #fff;
}
.prize span:nth-child(1) {
left: 0;
}
.prize span:nth-child(2) {
left: 100px;
}
.prize span:nth-child(3) {
left: 200px;
}
.prize span:nth-child(4) {
top: 100px;
left: 200px;
}
.prize span:nth-child(5) {
top: 200px;
right: 0;
}
.prize span:nth-child(6) {
right: 100px;
top: 200px;
}
.prize span:nth-child(7) {
right: 200px;
top: 200px;
}
.prize span:nth-child(8) {
left: 0px;
top: 100px;
}
div .aa {
background: rgb(78, 78, 78);
}
</style>
</head>
<body>
<div class="prize">
<span>100元現金</span>
<span>謝謝參與</span>
<span>50積分</span>
<span>謝謝參與</span>
<span>100積分</span>
<span>謝謝參與</span>
<span>10元現金</span>
<span>謝謝參與</span>
<button class="btn" id="btn">抽獎</button>
</div>
</body>
</html>
js實現部分
<script type="text/javascript">
var btn = document.getElementById("btn"); //獲取button按鈕
var prize = document.querySelectorAll("div>span"); //獲取所有的span
// console.log(prize) //列印span
function getRandom(n, m) {
return Math.floor(Math.random() * (m - n + 1) + n); //獲取隨機數
}
btn.onclick = function() {
btn.setAttribute("disabled", "disabled");
btn.style.backgroundColor = "#FFC8AD";
btn.innerHTML = "抽獎中";
prize.forEach(function(el, index) {
if (index != 0) {
el.classList.remove('aa'); // 清空上一次結果
}
el.classList.add('aa'); // 清空上一次結果
})
var needNum = -1;//獲取下標
var rand = getRandom(1, 100);//確定隨機數
var time = 0;//旋轉圈數
var speed = 100;//旋轉時間
timer = setInterval(function() {
needNum++;//下標自加
time++;//圈數自加
console.log(timer)
if (needNum > 7) {//判斷下標是否大於最後一個
needNum = 0;
prize[0].classList.add('aa');
prize[7].classList.remove('aa');
} else if (needNum == 0) {//判斷當前下標是否是0
prize[needNum].classList.add('aa');
prize[7].classList.remove('aa');
} else {
prize[needNum].classList.add('aa');
prize[needNum - 1].classList.remove('aa');
}
if (time > rand) {//判斷當前圈數是否大於隨機數實現隨機抽獎
clearInterval(timer)//清除定時器
btn.removeAttribute("disabled");
btn.style.backgroundColor = "lightsalmon";
btn.innerHTML = "抽獎";
prize.forEach(function(el, index) {
if (index != 0) {
el.classList.remove('aa'); // 清空所有的樣式
}
})
alert('恭喜您抽中了' + prize[needNum].textContent + '!!!')
}
}, speed)
// console.log(prize)
}
</script>
相關文章
- 抽獎動畫 - lao虎機抽獎動畫
- 抽獎動畫 - 九宮格抽獎動畫
- 抽獎動畫 - 大轉盤抽獎動畫
- 抽獎動畫 - 紅包雨抽獎動畫
- 隨機抽獎隨機
- php抽獎功能PHP
- 中獎與抽獎次序無關
- 如何模仿MX抽獎
- 抽獎測試點
- PHP抽獎演算法PHP演算法
- 樂智抽獎外掛
- JavaScript抽獎效果詳解JavaScript
- 【微信刮刮卡抽獎遊戲】教你輕鬆做個抽獎遊戲頁面遊戲
- 盲盒抽獎以及如何盈利
- 活動抽獎元件設計元件
- 大轉盤抽獎系統
- 手遊“抽獎介面”的思考
- 簡易版抽獎小程式
- 抽獎系統細節玩法
- H5活動抽獎H5
- 微信小程式抽獎-翻牌微信小程式
- 按照獎品概率分佈抽獎的實現概率分佈
- 12 random案例 年會抽獎案例random
- 抽獎動畫 - 播放svga動畫動畫SVG
- Excel VBA活動抽獎小程式Excel
- 用vuejs擼一個抽獎元件VueJS元件
- python——公司年會抽獎小程式Python
- 拼團抽獎系統模式玩法模式
- JavaScript實現隨機抽獎效果JavaScript隨機
- 程式猿生存指南-2 抽獎事件事件
- 微信小程式翻牌抽獎效果微信小程式
- vue 數字上下滾動抽獎Vue
- 微信小程式:抽獎轉盤微信小程式
- 微信抽獎小程式如何製作?教你快速製作微信公眾號抽獎小程式!
- 抽獎動畫 - 鯉魚跳龍門動畫
- 抽獎小程式資料庫設計資料庫
- 九宮格抽獎–手擼程式碼
- iOS 抽獎輪盤效果實現思路iOS