纯JS模拟抽奖,每次抽取结果不重复的那种

抽取的结果不会重复,直接上全部代码  拿走可以直接用

抽取的结果不会重复,直接上全部代码  拿走可以直接用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="jquery.min.js"></script>
        <script>
            //奖池数据
            var wait_term = new Array();
            wait_term.push("一等奖");
            wait_term.push("二等奖");
            wait_term.push("三等奖");
            wait_term.push("四等奖");
            wait_term.push("五等奖");
            wait_term.push("六等奖");
            wait_term.push("谢谢惠顾");
            
            
            //获取minNum到maxNum的随机数
            function randomNum(minNum, maxNum) {
                return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
            }
            
            //获取随机的结果
            function getWaitTermName(){
                var waitTermLength = wait_term.length;
                var currentWaitTermLengthNo = randomNum(1, waitTermLength);
                return wait_term[currentWaitTermLengthNo-1];//数组下标-1
            }
            
            var resultName = new Array();
            var _flag = false;
            
            $(function(){
                
                $("#start").click(function(){
                    //抽取次数等于奖池长度时  抽取结束
                    if(resultName.length == wait_term.length){
                        alert("所有奖项抽取完毕!");
                        return;
                    }
                    //防止连续点击
                    if(_flag){
                        return;
                    }
                    startRandom()
                });
                
            });
            
            
            
            function startRandom(){
                _flag = true;
                var result_name = "";
                //设置每次抽取结果不会重复
                if(resultName.length == 0){
                    result_name = getWaitTermName();
                    resultName.push(result_name);
                }else{
                    var flag = false;
                    while(!flag){
                        result_name = getWaitTermName();
                        var str = 0;
                        for(var i=0;i<resultName.length;i++){
                            if(result_name == resultName[i]){
                                str = 1;
                            }
                        }
                        if(str == 0){
                            flag = true;
                            resultName.push(result_name);
                        }
                        }
                }
                var strs = "<li>"+result_name+"</li>";
                $("#result_text").append(strs);
                _flag = false;
            }
            
        </script>
    </head>
    <body style="background-color:#eee;">
        <div style="width:500px;height:800px;margin:0px auto;border:1px solid #777;padding:20px;">
            <div style="width:100px;margin:0 auto;"><button id="start">开始抽取</button></div>
            <div>
                <p>抽取结果:</p>
                <ul id="result_text">
                </ul>
            </div>
        </div>
    </body>
</html>

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值