zoukankan      html  css  js  c++  java
  • js遮罩层效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>mask</title>
        <style type="text/css">
          #newDiv
          {
               
          }
        </style>
    </head>
    <body>

        <script type="text/javascript">
            var docEle = function() {
                return document.getElementById(arguments[0]) || false;
            }

            function openNewDiv(_id) {
                var m = "mask";
                if (docEle(_id)) document.body.removeChild(docEle(_id));
                if (docEle(m)) document.body.removeChild(docEle(m));

                //mask遮罩层
                var newMask = document.createElement("div");
                newMask.id = m;
                newMask.style.position = "absolute";
                newMask.style.zIndex = "1";
                _scrollWidth = Math.max(document.body.scrollWidth, document.documentElement.scrollWidth);
                _scrollHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
                newMask.style.width = _scrollWidth + "px";
                newMask.style.height = _scrollHeight + "px";
                newMask.style.top = "0px";
                newMask.style.left = "0px";
                newMask.style.background = "#33393C";
                newMask.style.filter = "alpha(opacity=10)";
                newMask.style.opacity = "0.20";
                document.body.appendChild(newMask);

                //新弹出层
                var newDiv = document.createElement("div");
                newDiv.id = _id;
                newDiv.style.position = "absolute";
                newDiv.style.zIndex = "9999";
                newDivWidth = 400;
                newDivHeight = 200;
                newDiv.style.width = newDivWidth + "px";
                newDiv.style.height = newDivHeight + "px";
                newDiv.style.top = (document.body.scrollTop + document.body.clientHeight / 2 - newDivHeight / 2) + "px";
                newDiv.style.left = (document.body.scrollLeft + document.body.clientWidth / 2 - newDivWidth / 2) + "px";
                newDiv.style.background = "#EFEFEF";
                newDiv.style.border = "1px solid #860001";
                newDiv.style.padding = "5px";
                newDiv.innerHTML = "弹出层内容 ";
                document.body.appendChild(newDiv);

                //弹出层滚动居中

                function newDivCenter() {
                    newDiv.style.top = (document.body.scrollTop + document.body.clientHeight / 2 - newDivHeight / 2) + "px";
                    newDiv.style.left = (document.body.scrollLeft + document.body.clientWidth / 2 - newDivWidth / 2) + "px";
                }
                if (document.all) {
                    window.attachEvent("onscroll", newDivCenter);
                }
                else {
                    window.addEventListener('scroll', newDivCenter, false);
                }

                //关闭新图层和mask遮罩层

                var newA = document.createElement("a");
                newA.href = "#";
                newA.innerHTML = "关闭";
                newA.onclick = function() {
                    if (document.all) {
                        window.detachEvent("onscroll", newDivCenter);
                    }
                    else {
                        window.removeEventListener('scroll', newDivCenter, false);
                    }
                    document.body.removeChild(docEle(_id));
                    document.body.removeChild(docEle(m));
                    return false;
                }
                newDiv.appendChild(newA);
            }
        </script>

        <body>
            <a  style="cursor: pointer">点击弹出遮罩层</a>
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
        </body>
        <script type="text/javascript">
         openNewDiv('newDiv');
        </script>
    </html>

  • 相关阅读:
    .NetCore Grpc 客服端 工厂模式配置授权
    DOCKER 拉取 dotnet 镜像太慢 docker pull mcr.microsoft.com too slow
    Introducing .NET 5
    VSCode 出现错误 System.IO.IOException: The configured user limit (128) on the number of inotify instances has been reached.
    Omnisharp VsCode Attaching to remote processes
    zookeeper3.5.5 centos7 完全分布式 搭建随记
    Hadoop2.7.7 centos7 完全分布式 配置与问题随记
    MySQL索引 索引分类 最左前缀原则 覆盖索引 索引下推 联合索引顺序
    SQL基础随记3 范式 键
    MySQL调优 优化需要考虑哪些方面
  • 原文地址:https://www.cnblogs.com/xinlei/p/2158313.html
Copyright © 2011-2022 走看看