弹窗遮罩层原理及实现

一、说明:

       我们知道,如果在网页中需要加载一个弹窗时同常是不希望点击到弹窗以外的区域从而导致错误操作的。这个时候呢我们就可以使用遮罩层来实现弹窗外部区域屏蔽的功能。


二、原理:

       在弹窗和页面之间创建一个div并使之铺满整个屏幕,同时让这个div半透明。这样我们就可以即能看到页面的内容,又无法点击到弹窗外的内容了。


三、用到的技术:

        js控制display的属性值以及设置遮罩层opacity的值为0.3 (小于1就行)

四、范例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>遮罩层</title>
<style>
html,body {
    margin:0;
    height:100%;
}
#test {
    width:100%;
    height:100%;
    background-color:#000;
    position:absolute;
    top:0;
    left:0;
    z-index:2;
    opacity:0.3;
    /*兼容IE8及以下版本浏览器*/
    filter: alpha(opacity=30);
    display:none;
}

#log_window {
    width:200px;
    height:200px;
    background-color:red;    
    margin: auto;
    position: absolute;
    z-index:3;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display:none;
}
</style>
<script>
function shield(){
    var s = document.getElementById("test");
    s.style.display = "block";
    
    var l = document.getElementById("log_window");
    l.style.display = "block";
}

function cancel_shield(){
    var s = document.getElementById("test");
    s.style.display = "none";
    
    var l = document.getElementById("log_window");
    l.style.display = "none";
}
</script>
</head>

<body>
    <a href="javascript:shield()">打开遮罩</a>
    <div id="test"></div>
    
    <div id="log_window">
        <a href="javascript:cancel_shield()">关闭</a>
    </div>
</body>

</html>

转自:https://blog.csdn.net/qq_25175063/article/details/70739839

猜你喜欢

转载自blog.csdn.net/yuzhoaheyou/article/details/80764434