//因為需要被獲取的節(jié)點比較多 所以我們來封裝一個函數(shù)來獲取
function getId(idname) {
return document.getElementById(idname)
}
//用一個名字來接收節(jié)點
var jieshou = getId('jieshou');
var start = getId('start');
var end = getId('end');
//創(chuàng)建一個雙色球最基本的不重復(fù)隨機(jī)數(shù)
function shuzu(qishi, jieshu, jige) {
//首先創(chuàng)建一個空數(shù)組 用來接收我們的隨機(jī)數(shù)
var shuangseqiu = [];
//要用到while循環(huán)來進(jìn)行操作 至于為什么要用while 我們來看他的特點(while循環(huán)是在循環(huán)開始前判斷是否滿足條件進(jìn)行循環(huán))
while (shuangseqiu.length < jige) {
// 聲明一個隨機(jī)數(shù)
var suiji = Math.floor(Math.random() * (jieshu - qishi + 1) + qishi);
// 因為雙色球必須是兩位數(shù) 所以我們要在隨機(jī)數(shù)為一位數(shù)時進(jìn)行拼接
suiji = suiji < 10 ? '0' + suiji : suiji;
//雙色球的號碼不能重復(fù)所以我們要進(jìn)行去重 indexOf通過數(shù)組里的值來找下標(biāo) 到不到返回-1的特點來判斷
if (shuangseqiu.indexOf(suiji) == -1) {
shuangseqiu.push(suiji);
}
}
// 給我們已經(jīng)附上值的隨機(jī)數(shù)組排序
shuangseqiu.sort(function (a, b) {
return a - b;
})
// 封裝函數(shù)必備return
return shuangseqiu;
}
// 函數(shù)的形參
var hong = shuzu(1, 33, 6);
var lan = shuzu(1, 16, 1);
// 拼接雙色球的紅藍(lán)球
var hong_lan = hong.concat(lan);
//開始往html里添加
function fu() {
var hong = shuzu(1, 33, 6);
var lan = shuzu(1, 16, 1);
var hong_lan = hong.concat(lan);
//通過一個空字符串來接收 紅藍(lán)球的數(shù)組
var arr = '';
// 循環(huán)紅球和藍(lán)球的每一項逐個添加在新字符串里
for (var i in hong_lan) {
arr += `<span>${hong_lan[i]}</span>`
}
//最后在html里添加空字符串 (如果直接添加在html里會無限重復(fù)添加整個數(shù)組)
jieshou.innerHTML = arr;
}
fu()
// 開始設(shè)定雙色球的自動輪播
var time = null;
//點擊事件 點擊開始 定時器開始運(yùn)作
start.onclick = function () {
time = setInterval(fu, 100);
// 點擊之后開始按鈕禁用
start.disabled = true
}
//點擊事件 點擊結(jié)束 定時器終止
end.onclick = function () {
clearInterval(time);
time = null;
// 點擊結(jié)束按鈕開始按鈕解除禁用
start.disabled = false;
}