转盘抽奖效果练习

效果截图:

 

CSS代码:

*,body,img,a,hi,h2,table,td,tr,ul,li{
    margin:0;
    padding:0;
    border:0;
}
#gameBox{
    position:absolute;
    width:284px;
    height:284px;
    left:50%;
    top:50%;
    margin-left:-142px;
    margin-top:-142px;
}
.gameitem,.startitem{
    position:absolute;
    width:89px;
    height:89px;
    border:1px #fff188 solid;
    background:#f5da2c;
    text-align:center;
    line-height:89px;
    font-family:"微软雅黑";
    font-weight:bold;
    color:#FFF;
    font-size:16px;
}
.gameitem.item1{
    left:0;
    top:0;
}
.gameitem.item2{
    left:90px;
    top:0;
}
.gameitem.item3{
    left:180px;
    top:0
}
.gameitem.item4{
    left:180px;
    top:90px;
}
.gameitem.item5{
    left:180px;
    top:180px;
}
.gameitem.item6{
    left:90px;
    top:180px;
}
.gameitem.item7{
    left:0px;
    top:180px;
}
.gameitem.item8{
    left:0;
    top:90px;
}
#gamestart{
    left:90px;
    top:90px;
    border:0;
    background:url(statbtn.jpg) no-repeat;
    width:90px;
    height:90px;
    overflow:hidden;
}
#gamestart a{
    display:block;
    width:90px;
    height:90px;
    text-indent:-999px;
    overflow:hidden;
}

HTML代码:

<div id="gameBox">
    
        <div id="gameitem1" class="gameitem item1">感谢参与</div>
        <div id="gameitem2" class="gameitem item2">10QB</div>
        <div id="gameitem3" class="gameitem item3">感谢参与</div>
        <div id="gameitem4" class="gameitem item4">50QB</div>
        <div id="gameitem5" class="gameitem item5">感谢参与</div>
        <div id="gameitem6" class="gameitem item6">10元话费</div>
        <div id="gameitem7" class="gameitem item7">感谢参与</div>
        <div id="gameitem8" class="gameitem item8">10QB</div>
        
        <div id="gamestart" class="startitem">
            <a id="startbtn" href="javascript:;" onfocus="this.blur()" onclick="gamestart()">开始抽奖</a>
        </div>
        
    </div>

JS代码:

        var move_num=0;//用于奖品元素循环
        var speed=500;//转动速度
        var Timer;//计时器
        var html="<a id='startbtn' href='javascript:;' onfocus='this.blur()' onclick='gamestart()'>开始抽奖</a>";
        var rs;//奖品运算结果--一般在服务器端计算后返回
        function gamestart(){
            $("#gamestart").empty();
            rs=Math.floor(Math.random()*8+1);//随机的算法,不过这个是平均的概率。真正抽奖结果还是得由你来操控。
            if(move_num>=$(".gameitem").length)
            {
                move_num=0;
            }
            $(".gameitem").eq(move_num).css({"background":"#f60"});
            $(".gameitem").eq(move_num-1).css({"background":"#f5da2c"});//转动效果
            move_num++;
            speed=speed-55;//转动速度增加
            if(speed<=50)//当速度达到这个时保持
            {
                speed=50;
            }
            setTimer();
            if(speed==50)
            {
                gamestop();//执行定时器函数,3秒后停止
            }
        }
        function setTimer(){
            Timer=setTimeout(gamestart,speed);
        }
        function clearTimer(){
            if(move_num==rs)//判断元素位置等于结果时停止
            {
                clearTimeout(Timer);
                $("#gamestart").html(html);
                speed=500;
            }
        }
        function gamestop(){
            setTimeout(clearTimer,3000);
        }

 

 

posted @ 2013-10-17 18:01  红油小生  Views(358)  Comments(0Edit  收藏  举报