您的位置:首页 > Web前端 > JavaScript

用JavaScript编写弹出遮罩层的原理分析及初步实现

2012-09-07 18:16 393 查看
目录

       基本原理

       具体步骤

       完整实例代码

       兼容性检查

       总结

基本原理
       在上一篇文章《用JavaScript编写弹出层原理分析及初步实现》中,已经介绍了用JS编写弹出层的原理。遮罩层的原理实质上与弹出层是一样的,只是属性设置不一样。

       遮罩层,是一个div完整覆盖整个窗口。其属性需要流出文档,设置定位方式,即position:fixed; z-index:1。同时需要设置div的宽度、高度和浏览器窗口大小相同,即width:100%;height:100%。利用固定定位fixed进行定位设置,代码如下:

<html>
<head>
<title>无标题文档</title>
<style>
#zhe{
position:fixed;
z-index:1;
top:0px;
left:0px;
width:100%;
height:100%;
background-color:#CCC;
}
</style>
</head>

<body>
这是底页面,如果看见,说明浏览器不支持position:fixed
<div id="zhe">
</div>
</body>
</html>


具体步骤

       因为原理同弹出层,所以具体步骤也同弹出层的步骤,只是属性稍有不同,这里不再写明具体步骤,参照《用JavaScript编写弹出层原理分析及初步实现》。

完整实例代码

<html>
<head>
<script language="javascript">
<!--
function show(){
var newDiv=document.createElement("div");//创建div节点

//设置div属性
newDiv.style.position="fixed";
newDiv.style.zIndex="1";
newDiv.style.width = "100%";
newDiv.style.height = "100%";
newDiv.style.top = "0px";
newDiv.style.left = "0px";
newDiv.style.background="#CCCCCC";

document.body.appendChild(newDiv);//添加div节点

}
//-->
</script>

<title>无标题文档</title>
</head>

<body>
这是底页面<a href="javascript:show()">点击弹出遮罩层</a><br />
</body>
</html>


兼容性检查

Trident(IE内核):IE6、IE7、IE8、IE9均未通过
Gecko(FF内核):火狐检查通过
Webkit:谷歌检查通过

总结

       采用该方法,存在严重的兼容问题,IE浏览器基本上不支持,不支持的原因是IE浏览器不支持position:fixed属性。





本作品采用知识共享署名-非商业性使用 3.0 Unported许可协议进行许可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息