实现一个js抽奖玩玩?

简介: 实现一个js抽奖玩玩?

简易版:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>demo</title>
</head>
<body>
    <button>开始</button>
    <button>停止</button>
    <p></p>
</body>
<script>
var btn=document.querySelectorAll("button")[0];
var btn1 = document.querySelectorAll("button")[1];
var p=document.querySelector("p");
var timer=null;
var arrs = ["一等奖", "二等奖", "三等奖", "谢谢", "特等奖"];
btn.onclick=()=>{ timer = setInterval(() => {
clearInterval(timer);
var arr = arrs[Math.floor(Math.random() * arrs.length)]; p.innerHTML = arr; }, 10); }
btn1.onclick=()=>{ clearInterval(timer) }
</script>
</html>


升级版


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    * {
        margin: 0;
        padding: 0;
    }
    .title {
        font-size: 24px;
        font-weight: bold;
        width: 400px;
        height: 70px;
        margin: 0 auto;
        padding-top: 30px;
        text-align: center;
        color: #f00;
    }
    .btns {
        width: 190px;
        height: 30px;
        margin: 0 auto;
    }
    .btns span {
        font-family: '微软雅黑';
        font-size: 14px;
        line-height: 27px;
        display: block;
        float: left;
        width: 80px;
        height: 27px;
        margin-right: 10px;
        cursor: pointer;
        text-align: center;
        color: #fff;
        border: 1px solid #eee;
        border-radius: 7px;
        background: #036;
    }
    </style>
</head>
<body>
    <div id="title" class="title">开始抽奖啦!</div>
    <div class="btns">
        <span id="play">开 始</span>
        <span id="stop">停 止</span>
    </div>
</body>
<script type="text/javascript">
var data = ['Phone7', 'Ipad', '三星笔记本', '佳能相机', '惠普打印机', '谢谢参与', '100元充值卡', '1000元超市购物券'],
    timer = null, //定时器
    flag = 0; //用于键盘事件状态标记
window.onload = function() {
    var play = document.getElementById('play'),
        stop = document.getElementById('stop');
    // 开始抽奖
    play.onclick = playFun;
    stop.onclick = stopFun;
    // 键盘事件
    document.onkeyup = function(event) {
        event = event || window.event;
        if (event.keyCode == 13) {
            if (flag == 0) {
                playFun();
                flag = 1;
            } else {
                stopFun();
                flag = 0;
            }
        }
    }
}
// 开始抽奖
function playFun() {
    var title = document.getElementById('title');
    var play = document.getElementById('play');
    //每次都先清除上一次的定时器任务,避免抽奖效果累加频率会越来越快
    clearInterval(timer);
    timer = setInterval(function() {
        var random = Math.floor(Math.random() * data.length);
        title.innerHTML = data[random];
    }, 50);
    play.style.background = '#999';
}
//停止抽奖
function stopFun() {
    clearInterval(timer);
    var play = document.getElementById('play');
    play.style.background = '#036';
}
</script>
</html>



相关文章
|
5月前
|
移动开发 JavaScript 前端开发
分享46个JS抽奖转盘,总有一款适合您
分享46个JS抽奖转盘,总有一款适合您
147 1
|
5月前
|
JavaScript 前端开发
js制作九宫格抽奖功能
js制作九宫格抽奖功能
45 0
|
5月前
|
存储 JavaScript 前端开发
JS实现简单的九宫格抽奖攻略
JS实现简单的九宫格抽奖攻略
57 0
|
5月前
|
JavaScript 前端开发
如何用JS实现基础的抽奖程序
如何用JS实现基础的抽奖程序
31 0
|
5月前
|
JavaScript
js九宫格抽奖怎么实现重新开始
js九宫格抽奖怎么实现重新开始
|
5月前
|
JavaScript
JS九宫格抽奖
JS九宫格抽奖
|
2月前
|
JavaScript 前端开发
JS九宫格抽奖制作
JS九宫格抽奖制作
30 0
|
2月前
|
JavaScript
js之九宫格抽奖
js之九宫格抽奖
27 0
|
4月前
|
JavaScript 前端开发
JS九宫格抽奖
JS九宫格抽奖
|
5月前
|
JavaScript 计算机视觉
原生js通过年龄判断是否可以抽奖
原生js通过年龄判断是否可以抽奖
30 0