实现抽奖效果

js代码

document.querySelector('.open').onclick = function(){
    let rednum = [], bluenum = [];
    for(let i=1; i <34; i++){
        rednum.push(i);
        if(i > 16) continue;
        bluenum.push(i);
    }
    let allball = document.querySelectorAll('.ball>li');// 拿到所有的球
    let ind = 0, n = 0, ri = 0;
    let sid = setInterval(function(){
        ind = rand(0, rednum.length-1);
        allball[ri].innerHTML = rednum[ind];
        n++;
        if(n==10){
            rednum.splice(ind, 1);// 处理重复问题:用过的元素需要删除
            // 处理下一个球
            ri++;
            if(ri == allball.length-1) rednum = bluenum;
            if(ri == allball.length) clearInterval(sid);
            n = 0;// 计数器需要重置
        }
    }, 87);
}
function rand(min, max){ return min + Math.round(Math.random()*(max-min)); }

css代码:

*{margin: 0; padding: 0;}
.ball{
    width: 360px;
    margin: 100px auto;
}
.ball>li{
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 2px solid #f00;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    /* 文本属性 */
    color: #f00;
    font-weight: bold;
    font-family: 'Courier New', Courier, monospace;
    font-size: 24px;
    text-align: center;
    line-height: 40px;
}
.ball>li.blue{
    border-color: #00f;
    color: #00f;
}
.open{
    width: 120px;
    height: 42px;
    background-color: crimson;
    color: #fff;
    font-size: 24px;
    text-align: center;
    line-height: 42px;
    font-family: 微软雅黑;
    margin: 0 auto;
    cursor: pointer;
}

html代码:




    
    
    双色球
    


    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
摇奖

你可能感兴趣的:(笔记,博客)