JavaScript- 纯JS遮罩层-弹出框

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

 

<html>

<head>

 <title>Untitled</title>

</head>

 

 <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 = "yellow";

    newMask.style.filter = "alpha(opacity=40)";

    newMask.style.opacity = "0.40";

    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 = "0px solid #860001";

    newDiv.style.padding = "5px";

    var part = "<table  style='border:1px;width:300px;'>";

   

    part+="<TR><TD><input type='button' value='ssss' onclick=\"ss(this,'tx');\"></TD><TD>2</TD><TD>3</TD></TR></table>";

    newDiv.innerHTML = part;

    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>

 

<script type="text/javascript">

function ss(obj,oo){

 alert(111);

 alert(obj.value);

 document.getElementById(oo).value=obj.value;

}

</script>

 

<body>

<input id="tx"/>

<a onclick="openNewDiv('newDiv');return false;" style="cursor:pointer">弹出遮罩层</a>

<input type="button" value="ss" onclick='ss(this,"tx");'>

</body>

 

</html>

 

 

 

 

直接贴代码可运行。。

 

你可能感兴趣的:(JavaScript- 纯JS遮罩层-弹出框)