• 登陆弹出层的制作


    首先在Body里边设置Input,并添加点击事件showLogin,用<p>标签做出一段较长的内容使页面可以下拉。设置一个被遮盖的层面mask,然后再设置一个登陆的层面login,并设置关闭按钮close-btn,用X表示。

    <body>
            <input type="button" value="登录" id="login" />
            <script>
                document.getElementById("login").onclick = function(){
                    var x = "<div class='close-btn'>X</div>";
                    showLogin(x);
                }
            </script>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
            <div class="mask"></div>
            <div class="login">
                <div class="close-btn">X</div>
            </div>
        </body>

    然后是设置CSS样式表,先将全局内外边距设为0,然后依次对各个div宽高背景色等进行设置,mask的z-index要设为998,因为它要在login的下面,login是相对于浏览器的,所以要定位成fixed,z-index设为999,关闭按钮close-btn设成小手。

    <style>
                *{
                    margin: 0px;
                    padding: 0px;
                }
                .mask{
                     100%;
                    /*height: 500px;*/
                    background-color: gray;
                    opacity: 0.5;
                    z-index: 998;
                    position: absolute;
                    top: 0px;
                    left: 0px;
                }
                .login{
                     400px;
                    height: 300px;
                    background-color: royalblue;
                    position: fixed;
                    /*left: 200px;
                    top: 300px;*/
                    z-index: 999;
                }
                .close-btn{
                     30px;
                    height: 30px;
                    position: absolute;
                    right: 10px;
                    top: 10px;
                    background-color: aquamarine;
                    text-align: center;
                    line-height: 30px;
                    font-size: 30px;
                }
                .close-btn:hover{
                    cursor: pointer;
                }
            </style>

    我们接下来要做一个mask出来,不用div里的mask,先把它注释掉。

    <!--<div class="mask"></div>-->

    用点击事件里的showLogin来做,先创建一个div元素,让它等于一个mask变量,然后为mask赋值,给它一个属性className,让它等于“mask”,给它添一个子元素,注意它的上级是body,然后还要设置一个浏览器高度,这里取body的高度:clientHeight,宽度:clientWidth,接下来给login赋值,跟上边一样。Login的左边及上边的长度是要将body的高度宽度除以2。

    script>
        function showLogin(x){
            var bodyHeight = document.body.clientHeight;
            var clientHeight = document.documentElement.clientHeight;
            var clientWidth = document.documentElement.clientWidth;
            
            var mask = document.createElement("div");
            mask.className = "mask";
            mask.style.height = bodyHeight + "px";
            mask.onclick = function(){
                mask.remove();
                login.remove();
                };
            document.body.appendChild(mask);
            
            var login = document.createElement("div");
            login.className = "login";
            login.style.left = clientWidth/2 - 200 + "px";
            login.style.top = clientHeight/2 - 150 + "px";
            login.innerHTML = x;
            document.body.appendChild(login);
            
            document.getElementsByClassName("close-btn")[0].onclick = function(){
                mask.remove();
                login.remove();
            }
        }
        document.body.onresize = function(){
            var clientHeight = document.documentElement.clientHeight;
            var clientWidth = document.documentElement.clientWidth;
            var login = document.getElementsByClassName("login")[0];
            login.style.left = clientWidth/2 - 200 + "px";
            login.style.top = clientHeight/2 - 150 + "px";
        }
    </script>
  • 相关阅读:
    【软件教程】oracle11g数据库的下载和安装
    (一)最新VMware vSphere Data Protection(VDP) 6.1.11 的安装过程
    缓存与库先写哪个,这十几张图告诉你
    因为它,差点无缘大厂梦!!!
    从小公司进入大厂,我都做对了哪些事?
    毕业一年后接私活赚了10w,还拿了几家大厂offer!
    同样是持久化,竟然有这么大的差别!
    硬核!15张图解Redis为什么这么快
    面试时说Redis是单线程的,被喷惨了!
    【漫画】活见鬼,明明删除了数据,空间却没减少!
  • 原文地址:https://www.cnblogs.com/mengshenshenchu/p/6641405.html
Copyright © 2020-2023  润新知