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

来源:互联网 发布:nestopia mac 设置 编辑:程序博客网 时间:2024/06/06 15:41

目录

       基本原理

       具体步骤

       完整实例代码

       兼容性检查

       总结


基本原理

       在上一篇文章《用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许可协议进行许可。
原创粉丝点击