JS+CSS随机点名详细介绍复制可用(可自己添加人名)

简介: JS+CSS随机点名详细介绍复制可用(可自己添加人名)

想必大家也想拥有一个可以随机点名的网页,接下来我为大家介绍一下随机点名,可用于抽人,哈哈

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            width: 850px;
            /* 我固定死了高度 如果需要修改黑色背景的高度请修改这部分 */
            height: 1000px;
            background-color: black;
            margin: 0 auto;
            position: relative;
        }
        .box>div {
            width: 200px;
            height: 75px;
            font-size: 25px;
            text-align: center;
            border: 1px solid white;
            background-color: orange;
            color: white;
            float: left;
            line-height: 75px;
            border-radius: 5px;
            margin-left: 10px;
            margin-bottom: 10px;
        }
        .boss {
            width: 100%;
            background-color: black;
            position: relative;
        }
        .bth {
            font-size: 50px;
            width: 220px;
            height: 120px;
            background-color: orange;
            position: absolute;
            right: 10px;
            bottom: 200px;
        }
    </style>
</head>
<body>
    <!-- 大盒子 -->
    <div class="boss">
        <div class="box">
            <!-- 可自己添加名字 -->
            <!-- 现在是43个div 想加几个人就用多少个div-->
            <!-- 记住不管是加还是减都要调整JS部分 已经在JS部分写好流程 -->
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
            <div>name</div>
        </div>
        <input class="bth" type="button" value="点击点名">
    </div>
</body>
<script>
    //获取input点击
    var bth = document.querySelector(".bth")
    //获取所有box下面的div
    var div = document.querySelectorAll(".box div")
    //点击事件
    bth.onclick = function () {
        //点击后改按钮的value值
        bth.value = "点名中"
        // 点击后btn的背景颜色变成白色
        bth.style.backgroundColor = "#fff"
        var timer = setInterval(function () {
            //循环所有要变色的盒子 因为我现在有43个div就i<43
            // 有几个div就i<div.length
            for (var i = 0; i < 43; i++) {
                //定3个随机数,要放在循环里面
                var a = Math.floor(Math.random() * 256)
                var b = Math.floor(Math.random() * 256)
                var c = Math.floor(Math.random() * 256)
                // 这是变色
                div[i].style.backgroundColor = "rgb" + "(" + a + "," + b + "," + c + ")"
                // 给按钮添加disabled属性 因为我点击之后,在完成点名之前不能继续点击
                bth.setAttribute("disabled", "disabled")
            }
        }, 100)
        //点击后2秒执行延时器里的内容
        setTimeout(function () {
            //清除定时器
            clearInterval(timer)
            //循环div,2秒后所有的div的背景颜色变成orange
            for (var j = 0; j < 43; j++) {
                div[j].style.backgroundColor = "orange"
            }
            //挑选一个幸运儿 0 - 43的随机数 有多少人就Math.floor(Math.random() * (人数+1))
            var d = Math.floor(Math.random() * 44)
            // div变成红色 就是幸运儿了
            div[d].style.backgroundColor = "red"
            // 执行完毕按钮重新变为点击点名
            bth.value = "点击点名"
            // 按钮背景颜色重新变为orange
            bth.style.backgroundColor = "orange"
            // 2s后按钮可以重新点击
            bth.removeAttribute("disabled")
        }, 2000)
    }
</script>
</html>

最终效果:

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

相关文章
|
4月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
4月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
4月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
4月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
4月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
4月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示
|
前端开发 JavaScript UED
前端开发的魔法:CSS动画与JavaScript的完美结合
本文将探讨如何利用CSS动画和JavaScript的结合,为前端页面增添生动的效果。我们将通过实例展示如何使用这两种技术为网页元素创建吸引人的动画效果,并讨论它们的优缺点和适用场景。
246 0
|
Web App开发 编解码 前端开发
浏览器原理 23 # 分层和合成机制:为什么CSS动画比JavaScript高效?
浏览器原理 23 # 分层和合成机制:为什么CSS动画比JavaScript高效?
429 0
浏览器原理 23 # 分层和合成机制:为什么CSS动画比JavaScript高效?
|
Web App开发 移动开发 前端开发
梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画
CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能。
梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画

热门文章

最新文章