弹出最简单的模式化遮罩层的js代码

  假设我们有一个容器container如下:

  

复制代码 代码如下:

  <style type=”text/css”>

  #container{width:auto;height:auto; overflow:hidden;}

  /*这里的overflow:hidden;属性主要是为了设置使超出container的部分自动隐藏,之所以设置这个属性,是为了解决ie8及以下版本浏览器兼容性问题*/

  </style>

  <div id=”container” >

  </div>

  现在要在网页中弹出一个div层,使在关闭弹出的div层之前不可操作container。

  那么,我们首先需要定义出这个遮罩的div层如下:

  

复制代码 代码如下:

  <div id=”continer”>

  <!—只所以将遮罩层放到container里面

  <divid=”shade” style=”width:1600px;height:900px;/*给遮罩层一个初始大小*/”>

  <input name=”close” id=”close” value=”关闭”>

  </div>

  </div>

  接下来,就是用js来使遮罩层始终显示在屏幕上并不可操作遮罩层下面的内容,点击关闭按钮关闭遮罩层

  

复制代码 代码如下:

  <script type=”text/javascript”>

  $(function(){

  //获取当前浏览器的内部宽和高

  varnWidth = window.innerWidth;

  varnHeight = window.innerHeight;

  //设置遮罩层的宽和高

  $("#shade").width(nWidth);

  $("#shade").height(nHeight);

  //设置关闭按钮居中显示

  $("#close").css("margin-top",nHeight/2-50+"px");

  //设置当浏览器大小改变时触发的事件

  $(window).resize(function(){

  //获取当前浏览器的内部宽和高

  varnWidth = window.innerWidth;

  varnHeight = window.innerHeight;

  //设置遮罩层的宽和高

  $("#shade").width(nWidth);

  $("#shade").height(nHeight);

  //设置关闭按钮居中显示

  $("#putPwd").css("margin-top",nHeight/2-50+"px");

  });

  //设置关闭按钮消除遮罩层

  $("#close").click(function(){

  $("#shade").removeAttr("id");

  $("#shade").html("");

  });

  //也可用纯js来写

  Document.getElementById(“shade”).style…….;

  //后面多说无益,如果有兴趣又实在不会写,可以和本人联系。

  })

  </script>