js实现转盘抽奖

一、效果图

在这里插入图片描述

二、设计思路

  • 第一步:先建立所有奖品的集合,设置默认转的圈数
  • 第二步:设置转动的随机角度
  • 第三步:转动到哪里就是最后的奖品,使用浏览器弹框弹出
  • 第四步:设置每一个奖品转到的概率

三、核心代码

    //先建立所有奖品的集合
    var list=['免单4999元', '免单50元', '免单10元', '免单5元', '免分期服务费', '提高白条额度', '未中奖'];
    //抽奖的状态
    var isStart=true;
    //获得奖品的索引
    var index=null;
    //当前的奖品
    var nowTxt=null;
    //点击抽奖
    var pointer=document.querySelector(".pointer");
    //获取rotate
    var rotate=document.querySelector(".rotate");
    //默认转的度数
    var defaultAngle=1800;//默认转五圈
    var angle=360/list.length;
    pointer.onclick=function(){
        if(isStart){
            //开始抽奖
            isStart=false;
            index=getinfo();
            nowTxt=list[index];
            var agl=index*angle+defaultAngle+Math.random()*angle;
            rotate.style.transform="rotatez("+agl+"deg)";
            setTimeout(function(){
                alert("奖品:"+nowTxt);
                isStart=true;
            },3000)
        }
    }
    function getinfo(){
        var num=Math.random();
        var i=null;
        if(num<0.03){
            i=0;
        }
        else if(num<0.1){
            i=1;
        }
        else if(num<0.2)
        {
            i=2;//10%
        }
        else if(num<0.35)
        {
            i=3;//15%
        }
        else if(num<0.55)
        {
            i=4;//20%
        }
        else if(num<0.85)
        {
            i=5;//30%
        }
        else{
            i=6;
        }
        return i;
    } 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南初️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值