js實(shí)現(xiàn)隨機(jī)抽選效果、隨機(jī)抽選紅色球效果

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>caipiao</title>
</head>
<body>
<div id="wrap"></div>
<button id="goBtn">go</button>
<button id="stopBtn">stop</button>
<script type="text/javascript">
var wrap = document.getElementById("wrap");
var goBtn = document.getElementById("goBtn");
var stopBtn = document.getElementById("stopBtn");
function rnd(min, max) {
return parseInt(Math.random()*(max - min + 1) + min);
}
function rndArray(min, max, length) {
//先定義一個(gè)空數(shù)組
var arr = [];
//生成一個(gè)長(zhǎng)度為7的數(shù)組
while(arr.length < length) {
//生成一個(gè)隨機(jī)數(shù)
var rand = rnd(min, max);
//判斷生成的隨機(jī)數(shù)rand是否在數(shù)組arr里,果然不在,就將這個(gè)隨機(jī)數(shù)插入到數(shù)組里,如果在,執(zhí)行下一次循環(huán)
if(arr.indexOf(rand) == -1) {
arr.push(rand);
}
}
arr.sort(function(a, b){return a - b;})
return arr;
}
//rndArray(最小范圍值,最大范圍值,個(gè)數(shù))
wrap.innerHTML = rndArray(1,33,7);
var timer = 0;
goBtn.onclick = function() {
clearInterval(timer);
timer = setInterval(function() {
wrap.innerHTML = rndArray(1,33,7);
},100)
console.log(timer);
}
stopBtn.onclick = function() {
clearInterval(timer);
}
</script>
</body>
</html>
隨機(jī)抽選

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>caipiao</title>
<style type="text/css">
* {
margin:0;
padding: 0;
}
#wrap {
width:621px;
margin:0 auto;
padding:50px 0;
background-color:rgb(255, 242, 242);
}
#inner {
width:490px;
margin:0 auto;
overflow: hidden;
}
#inner span {
float: left;
width:30px;
height: 30px;
border-radius: 15px;
border:1px solid #d9d9d9;
line-height: 30px;
text-align: center;
color:#333;
background-color: #f8f8f8;
margin:18px 6px;
}
#inner span.active {
background-color: red;
color:#fff;
}
#wrap p {
text-align: center;
}
button {
border:none;
outline: none;
width:120px;
height: 40px;
line-height: 40px;
font-size: 20px;
border-radius: 4px;
}
#selectBtn {
background-color: red;
color:#fff;
}
</style>
</head>
<body>
<div id="wrap">
<div id="inner">
<span>01</span>
<span>02</span>
<span>03</span>
<span>04</span>
<span>05</span>
<span>06</span>
<span>07</span>
<span>08</span>
<span>09</span>
<span>10</span>
<span>11</span>
<span>12</span>
<span>13</span>
<span>14</span>
<span>15</span>
<span>16</span>
<span>17</span>
<span>18</span>
<span>19</span>
<span>20</span>
<span>21</span>
<span>22</span>
<span>23</span>
<span>24</span>
<span>25</span>
<span>26</span>
<span>27</span>
<span>28</span>
<span>29</span>
<span>30</span>
<span>31</span>
<span>32</span>
<span>33</span>
</div>
<p>
<button id="selectBtn">機(jī)選紅球</button>
<button id="clearBtn">清空</button>
</p>
</div>
<script type="text/javascript">
var wrap = document.getElementById("wrap");
var selectBtn = document.getElementById("selectBtn");
var clearBtn = document.getElementById("clearBtn");
var ballList = document.getElementById("wrap").getElementsByTagName("span");
function rnd(min, max) {
return parseInt(Math.random()*(max - min + 1) + min);
}
function rndArray(min, max, length) {
//先定義一個(gè)空數(shù)組
var arr = [];
//生成一個(gè)長(zhǎng)度為7的數(shù)組
while(arr.length < length) {
//生成一個(gè)隨機(jī)數(shù)
var rand = rnd(min, max);
//判斷生成的隨機(jī)數(shù)rand是否在數(shù)組arr里,果然不在,就將這個(gè)隨機(jī)數(shù)插入到數(shù)組里,如果在,執(zhí)行下一次循環(huán)
if(arr.indexOf(rand) == -1) {
arr.push(rand);
}
}
arr.sort(function(a, b){return a - b;})
return arr;
}
selectBtn.onclick = function() {
for(var j = 0; j < ballList.length; j++) {
ballList[j].className = "";
}
var arr = rndArray(1,33,7);
console.log(arr);
for(var i = 0; i < arr.length; i++) {
ballList[arr[i]-1].className = "active";
}
}
clearBtn.onclick = function() {
for(var j = 0; j < ballList.length; j++) {
ballList[j].className = "";
}
}
</script>
</body>
</html>
要實(shí)現(xiàn)點(diǎn)擊得到自動(dòng)隨機(jī)數(shù)還得在clearBtn.onclick前面添加個(gè)定時(shí)器
var timer = 0;
selectBtn.onclick = function() {
clearTimeout(timer);
timer = setInterval(selectBall,100);
setTimeout(function() {
clearTimeout(timer);
},3000)
// clearTimeout(timer);
}
這樣就實(shí)現(xiàn)了動(dòng)態(tài)圖的功能了(*^__^*) 嘻嘻!
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
- js輪盤抽獎(jiǎng)實(shí)例分析
- javascript+HTML5 Canvas繪制轉(zhuǎn)盤抽獎(jiǎng)
- js組件SlotMachine實(shí)現(xiàn)圖片切換效果制作抽獎(jiǎng)系統(tǒng)
- 基于javascript實(shí)現(xiàn)簡(jiǎn)單的抽獎(jiǎng)系統(tǒng)
- js實(shí)現(xiàn)網(wǎng)頁抽獎(jiǎng)實(shí)例
- JS實(shí)現(xiàn)轉(zhuǎn)動(dòng)隨機(jī)數(shù)抽獎(jiǎng)特效代碼
- js實(shí)現(xiàn)簡(jiǎn)易的單數(shù)字隨機(jī)抽獎(jiǎng)(0-9)
- js實(shí)現(xiàn)大轉(zhuǎn)盤抽獎(jiǎng)游戲?qū)嵗?/a>
- javascript圓盤抽獎(jiǎng)程序?qū)崿F(xiàn)原理和完整代碼例子
- js抽獎(jiǎng)實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)代碼效果
- js和html5實(shí)現(xiàn)手機(jī)端刮刮卡抽獎(jiǎng)效果完美兼容android/IOS
相關(guān)文章
細(xì)說webpack源碼之compile流程-rules參數(shù)處理技巧(2)
這篇文章主要介紹了webpack源碼之compile流程-rules參數(shù)處理技巧的相關(guān)知識(shí),需要的朋友參考下吧2017-12-12
javascript和jquery實(shí)現(xiàn)用戶登錄驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了javascript和jquery分別實(shí)現(xiàn)用戶登錄驗(yàn)證的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
JavaScript實(shí)現(xiàn)同時(shí)調(diào)用多個(gè)函數(shù)的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)同時(shí)調(diào)用多個(gè)函數(shù)的方法,以一個(gè)簡(jiǎn)單實(shí)例分析了JavaScript同時(shí)調(diào)用兩個(gè)函數(shù)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
原生JavaScrpit中異步請(qǐng)求Ajax實(shí)現(xiàn)方法
這篇文章主要介紹了原生JavaScrpit中異步請(qǐng)求Ajax實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11
ES6 Iterator遍歷器原理,應(yīng)用場(chǎng)景及相關(guān)常用知識(shí)拓展詳解
這篇文章主要介紹了ES6 Iterator遍歷器原理,應(yīng)用場(chǎng)景及相關(guān)常用知識(shí)拓展,結(jié)合實(shí)例形式詳細(xì)分析了ES6 Iterator遍歷器具體原理、功能、用法、應(yīng)用場(chǎng)景及知識(shí)拓展,需要的朋友可以參考下2020-02-02
JavaScript給事件委托批量添加事件監(jiān)聽詳細(xì)流程
事件委托,一般來講,會(huì)把一個(gè)或者一組元素的事件委托到它的父層或者更外層元素上,真正綁定事件的是外層元素,當(dāng)事件響應(yīng)到需要綁定的元素上時(shí),會(huì)通過事件冒泡機(jī)制從而觸發(fā)它的外層元素的綁定事件上,然后在外層元素上去執(zhí)行函數(shù)2021-10-10
找到了一篇jQuery與Prototype并存的沖突的解決方法
找到了一篇jQuery與Prototype并存的沖突的解決方法...2007-08-08

