原生js實現雙色球的方法

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        #datePicker {
            width: 100px;
            height: 30px;
            line-height: 30px;;
            border-radius: 10px;
            border: 1px solid #5098a5;
            text-align: center;
            cursor: pointer;
        }

        #number {
            height: 100px;
            float: left;
            margin-top: 20px;
        }

        #number span {
            display: block;
            width: 30px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            border-radius: 30px;
            border: 2px solid red;
            color: red;
            font-weight: bold;
            float: left;
            margin-top: 15px;
            margin-right: 10px;
        }

        #buleBall {
            height: 100px;
            margin-top: 21px;
            float: left;
        }

        #buleBall span {
            display: block;
            width: 30px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            border-radius: 30px;
            background-color: blue;
            color: white;
            font-weight: bold;
            float: left;
            margin-top: 15px;
            margin-right: 10px;
        }
    </style>
</head>
<body>
<div class="container">
    <div style="overflow:hidden;">
        <div id="number"></div>
        <div id="buleBall"></div>
    </div>
    <div id="datePicker">點擊按鈕</div>
</div>

<script>
    //循環產生1-36數字
    var arr = [];
    function num() {
        for (var i = 1; i < 34; i++) {
            arr.push(i);
        }
        confusion();
    }
    var arrty= new Array(arr);
    //僞隨機方法
    function confusion(){
        for(var i=1;i<34;i++){
            arrty[i]=i;
        }
        arrty.sort(function(){ return 0.5 - Math.random() });
//        var str=arrty.join();
        arrAy()
    }
   // 將隨機獲取的數據添加到頁面上去
    function arrAy() {
        var array = getRandomArrayElements(arrty, 6);
        array.sort(function (a, b) {//數組排序
            return a > b ? 1 : -1;
        });
        var htm = "";
        for (var i = 0; i < array.length; i++) {
            htm += '<span>' + array[i] + '</span>';
        }

        document.getElementById('number').innerHTML = htm;
    }

    //  1-36中隨機取出其中6個參數
    function getRandomArrayElements(arr, count) {
        var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index;
        while (i-- > min) {
            index = Math.floor((i + 1) * Math.random());
            temp = shuffled[index];
            shuffled[index] = shuffled[i];
            shuffled[i] = temp;
        }
        return shuffled.slice(min);
    }

    //隨機獲取一個藍球的方法
    function blueBall() {
        var html = "";
        var array = [];

        for (var k = 1; k < 17; k++) {
            array.push(k);
        }
        //隨機生成藍色球的算法
        var n = Math.floor(Math.random() * array.length);

        if (n != "0") {//去除獲取到的籃球數爲0            html += '<span>' + n + '</span>';
        }

        document.getElementById('buleBall').innerHTML = html;
    }

    window.onload = function () {
        var datePicker = document.getElementById("datePicker");
        datePicker.onclick = function () {
            num();//點擊按鈕生成1-33的數字方法
            blueBall();//點擊後獲取隨機藍球的方法
        };
    }

</script>

</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章