原生js实现大转盘旋转抽奖效果代码

代码语言:html

所属分类:大转盘

代码描述:原生js实现大转盘旋转抽奖效果代码

代码标签: 原生 js 大转盘 抽奖 旋转

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
   
<meta charset="utf-8">

   
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">

   
<style>
        p
,
        body
{
           
margin: 0;
       
}

       
.rui-luck-draw {
           
width: 100vw;
           
height: 100vh;
           
position: fixed;
           
top: 0;
           
left: 0;
       
}

       
.rui-luck-content {
           
height: 75vw;
           
width: 75vw;
           
max-width: 550px;
           
max-height: 550px
       
}

       
.rui-luck-turntable,
       
.rui-luck-pointer {
           
position: absolute;
           
top: 50%;
           
left: 50%;
           
transform: translate(-50%, -50%) rotate(0deg);
           
transform-origin: center center;
           
-webkit-transform-origin: center center;
           
-moz-transform-origin: center center;
           
-ms-transform-origin: center center;
           
-o-transform-origin: center center;
       
}

       
.rui-luck-name {
           
font-size: 16px;
           
text-align: left;
           
height: 30px;
           
line-height: 30px;
           
position: fixed;
           
top: 0;
           
left: 0;
           
z-index: 100;
       
}

       
.rui-luck-name a {
           
text-decoration: none;
           
color: #777;
           
padding: 0 20px;
       
}

       
.rui-luck-pointer {
           
width: 27vw;
           
height: 27vw;
           
max-width: 205px;
           
max-height: 205px
       
}
   
</style>
</head>

<body>

       
<div class="rui-luck-content">
           
<div class="rui-luck-box">
               
<img id="luckTurntable" src="//repo.bfw.wiki/bfwrepo/images/luky/turntable.png" alt="" class="rui-luck-content rui-luck-turntable">
               
<img id="luckPointer" onclick="startRotate(this)" src="//repo.bfw.wiki/bfwrepo/images/luky/pointer.png" class="rui-luck-pointer" />
           
</div>
       
</div>

   
<script>
       
(function (win) {
    function LuckDraw(opts) {
        this.defaultOPts = {
            pointerId: 'luckPointer',
            turntableId: 'luckTurntable',
            rotateId: 'luckTurntable',
            activeClass: 'rui-active',
            type: 'turntable',
            time: 2000,
            luckNumber: 4,
            typeNumber: 6,
            circleNumber: 10,
            success: function () { }
        };
        // 扩展defaultOPts对象
        for (var key in opts) {
            this.defaultOPts[key] = opts[key];
        }
        // 公用参数
        this.flag = true;
    }
    // 重置全局变量
    LuckDraw.prototype._resetVariable = function () {
        this.flag = true;
        this.index = 0;
        this.timer = null;
        this.endCircle = 1;
        this.span = 5;
        this.startTime = 20;
        this.degAverage = this._keepTwoDecimalFull(360 / this.defaultOPts.typeNumber);
        this.minDeg = this.degAverage * this.defaultOPts.luckNumber + this.degAverage / 4 - this.degAverage / 2;
        this.maxDeg = this.degAverage * (this.defaultOPts.luckNumber + 1) - this.degAverage / 4 - this.degAverage / 2;
        this.luckDeg = this._getRandomNumber(this.minDeg, this.maxDeg);
        this.totalLuckDeg = 360 * this.defaultOPts.circleNumber + this.luckDeg;
        this.totalLuckNumber = this.defaultOPts.typeNumber * this.defaultOPts.circleNumber + (this.defaultOPts.luckNumber + 1);
        this.s.........完整代码请登录后点击上方下载按钮下载查看

网友评论0