幸运抽奖

    var oPointer=document.getElementsByTagName("img")[0];
    var oTurnable=document.getElementsByTagName("img")[1];
    var cat=15;//每个区域15度,一共24个区域
    var num=0;
    var offOn=true;//是否正在抽奖
    //指针点击事件,开始抽奖
    oPointer.onclick=function(){
        if(offOn){
            oTurnable.style.transform="rotate(0deg)";
            offOn=!offOn;
            ratating();
        }
    }
    //旋转
    function ratating(){
        var timer=null;
        var rdm=0;//随机度数
        clearInterval(timer);
        timer=setInterval(function(){
            if(Math.floor(rdm/360)<3){
                rdm=Math.floor(Math.random()*3600);
            }
            else{
                oTurnable.style.transform="rotate(" rdm "deg)";
                clearInterval(timer);
                setTimeout(function(){
                    offOn=!offOn;
                    num=rdm60;
//                    转盘逆时针的角度为正值
                    if(num<=cat*1){
                        alert("四等奖");
                        console.log("rdm=" rdm ",num=" num "," "四等奖");
                    }
                    else if(num<=cat*2){
                        alert("周君记");
                        console.log("rdm=" rdm ",num=" num "," "周君记");
                    }
                    else if(num<=cat*3){
                        alert("二等奖");
                        console.log("rdm=" rdm ",num=" num "," "二等奖");
                    }
                    else if(num<=cat*4){
                        alert("周君记");
                        console.log("rdm=" rdm ",num=" num "," "周君记");
                    }
                    else if(num<=cat*5){
                        alert("三等奖");
                        console.log("rdm=" rdm ",num=" num "," "三等奖");
                    }
                    else if(num<=cat*6){
                        alert("四等奖");
                        console.log("rdm=" rdm ",num=" num "," "四等奖");
                    }
                    else if(num<=cat*7){
                        alert("幸运奖");
                        console.log("rdm=" rdm ",num=" num "," "幸运奖");
                    }
                    else if(num<=cat*8){
                        alert("周君记");
                        console.log("rdm=" rdm ",num=" num "," "周君记");
                    }
                    else if(num<=cat*9){
                        alert("一等奖");
                        console.log("rdm=" rdm ",num=" num "," "一等奖");
                    }
                    else if(num<=cat*10){
                        alert("周君记");
                        console.log("rdm=" rdm ",num=" num "," "周君记");
                    }
                    else if(num<=cat*11){
                        alert("幸运奖");
                        console.log("rdm=" rdm ",num=" num "," "幸运奖");
                    }
                    else if(num<=cat*12){
                        alert("四等奖");
                        console.log("rdm=" rdm ",num=" num "," "四等奖");
                    }
                    else if(num<=cat*13){
                        alert("三等奖");
                        console.log("rdm=" rdm ",num=" num "," "三等奖");
                    }
                    else if(num<=cat*14){
                        alert("周君记");
                        console.log("rdm=" rdm ",num=" num "," "周君记");
                    }
                    else if(num<=cat*15){
                        alert("二等奖");
                        console.log("rdm=" rdm ",num=" num "," "二等奖");
                    }
                    else if(num<=cat*16){
                        alert("周君记");
                        console.log("rdm=" rdm ",num=" num "," "周君记");
                    }
                    else if(num<=cat*17){
                        alert("四等奖");
                        console.log("rdm=" rdm ",num=" num "," "四等奖");
                    }
                    else if(num<=cat*18){
                        alert("幸运奖");
                        console.log("rdm=" rdm ",num=" num "," "幸运奖");
                    }
                    else if(num<=cat*19){
                        alert("周君记");
                        console.log("rdm=" rdm ",num=" num "," "周君记");
                    }
                    else if(num<=cat*20){
                        alert("幸运奖");
                        console.log("rdm=" rdm ",num=" num "," "幸运奖");
                    }
                    else if(num<=cat*21){
                        alert("四等奖");
                        console.log("rdm=" rdm ",num=" num "," "四等奖");
                    }
                    else if(num<=cat*22){
                        alert("三等奖");
                        console.log("rdm=" rdm ",num=" num "," "三等奖");
                    }
                    else if(num<=cat*23){
                        alert("周君记");
                        console.log("rdm=" rdm ",num=" num "," "周君记");
                    }
                    else if(num<=cat*24){
                        alert("幸运奖");

                        console.log("rdm=" rdm ",num=" num "," "幸运奖");
                    }
                },4000);
            }
        },30);
    }

 

  #bg{
            width: 650px;
            height: 600px;
            margin:0 auto;
            background: url(turnable-bg.jpg) no-repeat;
            position:relative;
        }
        /*img从alt开始匹配,直到pointer结束为止*/
  img[alt="pointer"]{
            position:absolute;
            top:125px;
            left:310px;
            z-index:10;
        }
  img[alt="turnable"]{
            position:absolute;
            z-index:5;
            top:50px;
            left:80px;
            transition:all 4s;
        }

        

 

<div id="bg">
    <img src="指针.png" alt="pointer" width="31px" height="182px">
    <img src="转盘.png" alt="turnable" width="496px" height="500px">
</div>

 抽奖代码里要注意一个地方,就是转动角度:在计算机语言里,逆时针的转动才算是正方向,而顺时针为负方向。

总结步骤:1.找好图片素材,当然也可以自己设计一个。(圆盘和指针)

                  2.先用html将素材写至页面当中。

                  3.设置好样式,呈现好看的页面效果。

                  4.最重要的部分就是在js这块的实现部分:

.                         (1)点击事件;

                           (2)旋转度数的设置(间歇调用,判断语句)

      效果如下:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值