幸運抽獎

    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=rdm%360;
//                    轉盤逆時針的角度爲正值
                    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>

 抽獎代碼裏要注意一個地方,就是轉動角度:在計算機語言裏,逆時針的轉動纔算是正方向,而順時針爲負方向。javascript

總結步驟:1.找好圖片素材,固然也能夠本身設計一個。(圓盤和指針)css

                  2.先用html將素材寫至頁面當中。html

                  3.設置好樣式,呈現好看的頁面效果。java

                  4.最重要的部分就是在js這塊的實現部分:dom

.                         (1)點擊事件;url

                           (2)旋轉度數的設置(間歇調用,判斷語句)spa

      效果以下:設計

相關文章
相關標籤/搜索