• js 随机点名


    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            body{
                background-color: aliceblue;
            }
            .box{
                 1000px;
                height: 240px;
                /*background-color: aqua;*/
                margin: 0 auto;
                margin-top: 100px;
                clear: both;
            }
            #btn{
                 100px;
                height: 30px;
                margin-left: 600px;
                margin-top: 50px;
            }
            .name{
                 100px;
                height: 30px;
                float: left;
                background-color: antiquewhite;
                margin-left: 10px;
                margin-top: 10px;
                text-align: center;
                line-height: 30px;
            }
            #span{
                float: right;
                position: relative;
                top: 55px;
                right: 185px;
            }
            h1{
                text-align: center;
            }
        </style>
    </head>
    <body>
        <h1>随机点名系统</h1>
        <span id="span"></span>
        <div class="box" id="box"></div>
        <input type="button" id="btn" value="点名"/>
        <span id="_span"></span>
        <script>
    //        获取id函数
            function my$(id){
                return document.getElementById(id)
            };
    //        模拟后台数据
            var arr = ["吉帆","静慧","嘉歆","金枝","王大妈","老王","刘疙瘩","杨伟",
              "韩晁","静涵","静曼","晶晶","靓影","嘉宝","李静","李志","李伟","家美"
              ,"金枝","静恬","刘泽祥","静和","晶灵","立超","嘉懿","王欢","王欣","郭琦"
              ,"嘉美","王琦","洁静","小杨","佳思","吉玉","张焕","张赛","娟秀","菊月"
              ,"王晶","吉玟","王飞","皎洁","曾艳","王翠青"
          ];
    //        动态创建层
            for(var i =0;i<arr.length;i++){
                var div = document.createElement("div");
                div.innerText=arr[i];
                div.className="name";
                my$("box").appendChild(div);
            };
            var _index;
    //        点名
            my$("btn").onclick=function(){
                var peoples= arr.length;
    //            监视按钮的状态
                if(this.value==="点名"){
    //                定时针
                      timeId=setInterval(function () {
    //                      清空所有层的颜色
                        for(var i =0;i<arr.length;i++){
                            my$("box").children[i].style.background=""
                        };
    //                      留下当前层的颜色
                        var random = parseInt(Math.random()*peoples);
                        my$("box").children[random].style.background="red";
    
                        // _span
                        my$('_span').innerText = arr[random];
                        _index = random;
                    },100);
                    this.value="停止";
                }else{
                    my$('_span').innerText = arr[_index];
    //                清除计时器
                    clearInterval(timeId);
                    this.value="点名";
                };
            };
    
    //        获取时间的函数
            getTime();
            setInterval(getTime,1000)
            function getTime(){
                var day = new Date();
                var year = day.getFullYear();//
                var month = day.getMonth()+1;//
                var dat = day.getDate();//
                var hour = day.getHours();//小时
                var minitue = day.getMinutes();//分钟
                var second = day.getSeconds();//
                month=month<10?"0"+month:month;
                dat=dat<10?"0"+dat:dat;
                hour=hour<10?"0"+hour:hour;
                minitue=minitue<10?"0"+minitue:minitue;
                second=second<10?"0"+second:second;
                my$("span").innerText=year+"-"+month+"-"+dat+" "+hour+":"+minitue+":"+second
            }
    
    
        </script>
    </body>
    </html>

    总结:

      主要是利用定时器,点击开始IDE时候不断的执行,并同时生成随机数,利用数组的下标完成展示。

      主要用到的知识点:setInterval,Math.random()

  • 相关阅读:
    面向对象编程:这里我说了算!
    一步步构建大型网站架构
    如何设计伟大产品:要学会讲故事
    如何从组件开始构建一座城市?
    深度理解依赖注入(Dependence Injection)
    Java Study For Seven Day( 面向对象三)
    Java Study For Five Day( 面向对象一)
    Java Study For Six Day( 面向对象二)
    关于学习效率的探讨
    CodeForces
  • 原文地址:https://www.cnblogs.com/xiaomili/p/10700496.html
Copyright © 2020-2023  润新知