js经典双色球实践方法

红色球有6个数 范围为1~32,绿色球有1个数 范围为1~16
红色球打印在页面的随机数字中不能出现重复的
接下来让我们一起实践下:

var box = document.querySelector('.box');
        var start = document.getElementsByClassName('start')[0];
        var stop = document.getElementsByClassName('stop')[0];//先获取
        function getNum(n, m, many) {//传如形参,三个参数接收
            return Math.floor(Math.random() * (m - n + 1) + n);//向下取整取随机数
        }
        function getBall() {//封装球
            box.innerHTML = ''//写入空字符串
            var redball = [];//声明一个空数组
            while (redball.length < 6) {//判断
                var num = getNum(1, 32);//范围
                num = num < 10 ? '0' + num : num;//三目运算符判断

                if (redball.indexOf(num) == -1) {//判断如果红球里没有这个数则添加
                    redball.push(num);


                }
            }
            redball.sort(function (a, b) {//排序
                return a - b;
            })
            var blueBall = getNum(1, 16);//蓝球的范围
            var newArr = redball.concat(blueBall);//用刚才声明的空数组将他们拼接起来
            for (var i in newArr) {//循环数组每一项
                box.innerHTML += `${newArr[i]}`//写入到页面
            }
        }

        var time = null;//声明一个空的
        start.onclick = function () {//点击开始
            time = setInterval(function () {//定时器
                getBall()
            }, 100)
            start.disabled = true;//点一下之后禁用
        }
        stop.onclick = function () {//点击停止
            clearInterval(time)//清除定时器
            start.disabled = false;//开始解除禁用

        }

你可能感兴趣的:(js经典双色球实践方法)