微信大轉盤 【案例源碼】提供

 

如今不少網站都有抽獎活動,今天寫下轉盤抽獎,抽獎插件的手記,但願對您有用。javascript

參與了微一熱的活動大轉盤開發,具體效果能夠看官網演示:http://www.weiyr.com/dzp/infocss

 

如下爲案例的微信轉盤代碼:前端

代碼引用腳本java

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jQueryRotate.2.2.js"></script>
<script type="text/javascript" src="js/jquery.easing.min.js"></script>

H5方面轉盤簡單Demo寫法:jquery

<div class="ly-plate">
  <div class="rotate-bg"></div>
    <div class="lottery-star"><img src="rotate-static.png" id="lotteryBtn"></div>
</div>

樣式方面:web

<style type="text/css">
*{padding:0;margin:0}
body{
    text-align: center;
    background-color: #1664ad;
}
.ly-plate{
    position:relative;
    width:509px;
    height:509px;
    margin: 50px auto;
}
.rotate-bg{
    width: 509px;
    height: 509px;
    background: url(ly-plate.png);
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 0%;
}
.ly-plate div.lottery-star{
    width:214px;
    height:214px;
    position:absolute;
    top:150px;
    left:147px;
    /*text-indent:-999em;
    overflow:hidden;
    background:url(rotate-static.png);
    -webkit-transform:rotate(0deg);*/
    outline:none
}
.ly-plate div.lottery-star #lotteryBtn{
    cursor: pointer;
    position: absolute;
    top:0;
    left:0;
    *left:-107px
}
</style>
View Code

轉盤的前端腳本:後端

<script type="text/javascript">
$(function(){
    var timeOut = function(){  //超時函數
        $("#lotteryBtn").rotate({
            angle:0, 
            duration: 10000, 
            animateTo: 2160, //這裏是設置請求超時後返回的角度,因此應該仍是回到最原始的位置,2160是由於我要讓它轉6圈,就是360*6得來的
            callback:function(){
                alert('網絡超時')
            }
        }); 
    }; 
    var rotateFunc = function(awards,angle,text){  //awards:獎項,angle:獎項對應的角度
        $('#lotteryBtn').stopRotate();
        $("#lotteryBtn").rotate({
            angle:0, 
            duration: 5000, 
            animateTo: angle+1440, //angle是圖片上各獎項對應的角度,1440是我要讓指針旋轉4圈。因此最後的結束的角度就是這樣子^^
            callback:function(){
                alert(text)
            }
        }); 
    };
     
    $("#lotteryBtn").rotate({ 
       bind: 
         { 
            click: function(){
                var time = [0,1];
                    time = time[Math.floor(Math.random()*time.length)];
                if(time==0){
                    timeOut(); //網絡超時
                }
                if(time==1){
                    var data = [1,2,3,0]; //返回的數組
                        data = data[Math.floor(Math.random()*data.length)];
                    if(data==1){
                        rotateFunc(1,157,'恭喜您抽中的一等獎')
                    }
                    if(data==2){
                        rotateFunc(2,247,'恭喜您抽中的二等獎')
                    }
                    if(data==3){
                        rotateFunc(3,22,'恭喜您抽中的三等獎')
                    }
                    if(data==0){
                        var angle = [67,112,202,292,337];
                            angle = angle[Math.floor(Math.random()*angle.length)]
                        rotateFunc(0,angle,'很遺憾,此次您未抽中獎')
                    }
                }
            }
         } 
        
    });
     
})
</script> 
View Code

 

活動經過後端提供轉盤的中獎機率,大轉盤前端只須要作好UI與Js 大轉盤就能夠完成數組

基本上設計轉盤沒有太大難點。UI界面反而是最重要的微信

相關文章
相關標籤/搜索