JS 实现双色球摇奖效果

代码:

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        button {
            font-size: 20px;
            padding: 5px 30px;
            margin-left: 20px;
        }

        span {
            width: 100px;
            height: 100px;
            border-radius: 50px;
            background-color: red;
            display: inline-block;
            margin-top: 30px;
            margin-left: 20px;
            color: white;
            font-size: 40px;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>

<body>
    <!--  -->
    <button>开始</button>
    <button>停止</button>
    <br>
    <span id="aaa"></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span style="background-color: #06c;"></span>
    <script>
        //1.获取元素
        var btns = document.getElementsByTagName("button");
        var spans = document.getElementsByTagName("span");
        //4.声明一个变量 用来记录 当前要停止的小球的索引
        var n = 0;

        var timer = null;
        //2.点击 开始 让所有小球中的内容 进行自动切换
        btns[0].onclick = function () {
            //0-30
            timer = setInterval(function () {
                //切换一次的代码
                for (var i = n; i < spans.length; i++) {
                    var ran = parseInt(Math.random() * 31);
                    spans[i].innerText = ran;
                }
            }, 50)
        }
        //3.点击 停止按钮  让正在切换的第一个小球停下来
        btns[1].onclick = function () {
            setTimeout(function () {
                n++;//1 2   
                //1.当全部停止之后 要清除定时器
                if(n>=7){
                    clearInterval(timer);
                    n = 0;//2.在停止之后  可以重新开始的
                }
            }, 500)

        }
    </script>
</body>

</html>
复制代码

 

posted @   石海莹  阅读(1306)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2019-09-17 SEO搜索引擎优化是什么?
点击右上角即可分享
微信分享提示