js代碼
document.querySelector('.open').onclick = function(){
let rednum = [], bluenum = [];
for(let i=1; i <34; i++){
rednum.push(i);
if(i > 16) continue;
bluenum.push(i);
}
let allball = document.querySelectorAll('.ball>li');// 拿到所有的球
let ind = 0, n = 0, ri = 0;
let sid = setInterval(function(){
ind = rand(0, rednum.length-1);
allball[ri].innerHTML = rednum[ind];
n++;
if(n==10){
rednum.splice(ind, 1);// 處理重複問題:用過的元素需要刪除
// 處理下一個球
ri++;
if(ri == allball.length-1) rednum = bluenum;
if(ri == allball.length) clearInterval(sid);
n = 0;// 計數器需要重置
}
}, 87);
}
function rand(min, max){ return min + Math.round(Math.random()*(max-min)); }
css代碼:
*{margin: 0; padding: 0;}
.ball{
width: 360px;
margin: 100px auto;
}
.ball>li{
display: inline-block;
width: 40px;
height: 40px;
border: 2px solid #f00;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
/* 文本屬性 */
color: #f00;
font-weight: bold;
font-family: 'Courier New', Courier, monospace;
font-size: 24px;
text-align: center;
line-height: 40px;
}
.ball>li.blue{
border-color: #00f;
color: #00f;
}
.open{
width: 120px;
height: 42px;
background-color: crimson;
color: #fff;
font-size: 24px;
text-align: center;
line-height: 42px;
font-family: 微軟雅黑;
margin: 0 auto;
cursor: pointer;
}
html代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>雙色球</title>
<link rel="stylesheet" href="./css/00.css">
</head>
<body>
<ul class="ball">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li class="blue">7</li>
</ul>
<div class="open">搖獎</div>
<script src="./js/00.js"></script>
</body>
</html>