原生JS实现彩票36选7不重复(优化)

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>36选7</title>
<script>
//先循环36个数,放到num里面
//给按钮添加事件
//点击的时候 随机7个数放到jg里面
var btn = null,
    num = null,
    jg = null;
    
    window.onload = function(){
        init();
        initDom();
        event();
    }
//初始化变量
    function init(){
        btn = document.getElementById("btn");
        num = document.getElementById("num");
        jg = document.getElementById("jg");
    }
//初始化页面元素的值
    function initDom(){
        var str = "";
        for(var i = 1 ;i<37;i++){
            str += i + ",";
        }
        str = str.substr(0,str.length-1);  //把36个数字组成的字符串的最后一个元素删除
        num.innerHTML = str;
    }
//添加事件
    function event(){
        btn.onclick = xuanze;
    }
//点击按钮的时候调用方法
    function xuanze(){
        //随机七个数放到结果里面
        var str = "";
        var n = 0;
        for(var i = 0 ;i<7;i++){
            n++;
            var zhi = parseInt(Math.random()*36)+1;
            console.log(str.indexOf(zhi));
            if(str.indexOf(zhi) == -1){  
                str += zhi+",";
            }else{
                i--;
            }
        }
//        jg.innerHTML = str+";总共循环了"+n+"次";
        jg.value = str+";循环了"+n+"";
    }
</script>
</head>

<body>
<!--页面部分-->
<div id="num"></div>
<button id="btn">选择</button>
<!--结果为:<span id="jg"></span>-->
结果为:<input type="text" width="1000px" id="jg" value="">
</body>
</html>

 

posted @ 2019-01-12 10:48  OH-MY-GOD  阅读(2167)  评论(0编辑  收藏  举报