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>

最终效果:

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

相关文章
|
6天前
|
JSON 前端开发 JavaScript
使用html,css,js 实现一个龙年春节祝福卡片效果
使用html,css,js 实现一个龙年春节祝福卡片效果
26 4
|
10天前
|
前端开发
【前端】校园二手书交易系统javascript+css+html (源码)【独一无二】
【前端】校园二手书交易系统javascript+css+html (源码)【独一无二】
|
4天前
|
移动开发 JavaScript 前端开发
基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果
这篇文章展示了如何使用纯CSS3、原生JavaScript以及Vue 3.0技术来实现序列帧动画效果,并通过代码示例和动画效果展示了每种方法的实现过程和最终效果。
11 0
|
6天前
|
JavaScript 前端开发
使用js,html,css实现歌词滚动的效果
使用js,html,css实现歌词滚动的效果
15 0
|
9天前
|
监控 数据可视化 前端开发
【前端】政务服务大数据可视化监控平台(源码+html+css+js)
【前端】政务服务大数据可视化监控平台(源码+html+css+js)
|
19天前
|
开发框架 前端开发 JavaScript
循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
|
1月前
|
前端开发 JavaScript
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
|
1月前
|
JavaScript 前端开发 容器
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
47 2
|
1月前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】3d-boxes-background
【HTML+CSS+JavaScript】3d-boxes-background
20 0
|
1月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
59 2