普通网友 2017-09-05 08:25 采纳率: 52.6%
浏览 1323
已结题

confirm后执行的问题,抽奖系统

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title>抽奖</title>
        <style>
            *{margin: 0;padding: 0;}
            .content{width:80%;border: 1px solid black;margin: 0 auto;margin-top: 100px;}
            ul li{list-style: none;float: left;width: 28%;height: 28%;margin:0 3%;border: 1px solid black;height: 100px;margin-top: 20px;background: url("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1504600617760&di=e77de88b258966729fcfb35ea910e07a&imgtype=0&src=http%3A%2F%2Fpic.baike.soso.com%2Fp%2F20140325%2F20140325093124-380277907.jpg");background-repeat: no-repeat;background-size:100% 100% ;}
            ul li:nth-child(2){margin:20px 0 0;}
            ul li:nth-child(5){margin:20px 0 0;}
            ul li:nth-child(8){margin:20px 0 0;}
            .animeta{animation: move 1s both;}
             @keyframes move {
                0% {transform: rotateY(0deg);}
                100% {transform: rotateY(180deg);}

            }
        </style>
    </head>
    <body>
        <div class="content" id="content1">
            <ul id="list">
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
            <div style="clear: both;"></div>
        </div>
    </body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">

        var zhong = 0;
        var arr = ["orange","yellow","green","blue","purple","black","gray","black"];
        var arr2 = ["orange","yellow","green","blue","purple","black","gray","red"];
        var list = $("#list li");
        var temp =[];
        $("#content1").css("height",$(window).height()* 0.6);
        list.click(function(){
            list.addClass("animeta");

            var index = $(this).index();
            if(zhong == 0){
                roa(arr);   
                temp.splice(index,0,"red");     
            }else{
                roa(arr2);  
                temp.splice(index,0,"black");   
            }



            setTimeout(function(){
                for(var i = 0 ; i < list.length;i++){
                    list[i].style.background = temp[i];
                }
                shuaxin();
            },450)

        })
        function roa(arr){
            var count = arr.length;
            for(i = 0; i < count; i++) {
                var num = Math.floor(Math.random() * arr.length);
                temp.push(arr[num]);
                arr.splice(num, 1);
            }
            return temp;    
        }
        function shuaxin(){
                confirm("恭喜您,中奖啦!");
                setTimeout(function(){
                    location.reload();  
                },5000)

        }


</script>

这是代码,除了黑色以外,每个颜色代表不同的中奖结果,现在问题是,当旋转动画结束后才会出现 confirm 且并没有换颜色,需要点击确定之后才可以换,需要的是,当颜色换过后才会有confirm的出现

顺便,想问一下,如果我有7中中奖方式的话,创建7个arr太麻烦是肯定,帮忙出个主意,谢谢.

  • 写回答

4条回答 默认 最新

  • 一介大人物 2017-09-05 08:32
    关注

    关于旋转动画结束后才会出现 confirm提示问题解释如下:
    1.你的提示是写在shuaxin方法里面;
    2.你是在点击list执行。
    3.点击之后,从上至下,最后执行下面的方法,所以才导致这样问题出现:

     setTimeout(function(){
                    for(var i = 0 ; i < list.length;i++){
                        list[i].style.background = temp[i];
                    }
                    shuaxin();
                },450)
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料