带有半透明效果的遮罩层代码实例

吐槽君 分类:实例代码

本章节分享一段代码实例,它实现了点击按钮弹出带有半透明遮罩层的效果。

代码实例如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>前端教程网</title>
<style>
* {
  margin:0px;
  padding:0px;
}
.box {
  position: absolute;
  width: 600px;
  left: 50%;
  height: auto;
  z-index: 100;
  background-color: #fff;
  border: 1px #ddd solid;
  padding: 1px;
}
.box h2 {
  height: 25px;
  font-size: 14px;
  background-color: #aaa;
  position: relative;
  padding-left: 10px;
  line-height: 25px;
  color: #fff;
}
.box h2 a {
  position: absolute;
  right: 5px;
  font-size: 12px;
  color: #fff;
}
.box .list {
  padding: 10px;
}
.box .list li {
  height: 24px;
  line-height: 24px;
  list-style:none
}
.box .list li span {
  margin: 0 5px 0 0;
  font-family: "宋体";
  font-size: 12px;
  font-weight: 400;
  color: #ddd;
}
.showbtn {
  font: bold 24px '微软雅黑';
}
#bg {
  background-color: #000;
  position: absolute;
  z-index: 99;
  left: 0;
  top: 0;
  display: none;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
$(function () {
  $(".showbtn").click(function () {
    $("#bg").css({
      display: "block", height: $(document).height()
    });
    var $box = $('.box');
    $box.css({
      //设置弹出层距离左边的位置
      left: ($("body").width() - $box.width()) / 2 - 2 + "px",
      //设置弹出层距离上面的位置
      top: ($(window).height() - $box.height()) / 2 + $(window).scrollTop() + "px",
      display: "block"
    });
  });
  //点击关闭按钮的时候,遮罩层关闭
  $(".close").click(function () {
    $("#bg,.box").css("display", "none");
  });
});
</script>
</head>
<body>
<p class="showbtn"><a href="javascript:void(0);">显示遮罩层</a></p>
<div id="bg"></div>
<div class="box" style="display:none">
  <h2><a href="#" class="close">关闭</a></h2>
  <div class="list">
    <ul>
      <li>前端教程网一</li>
      <li>前端教程网二</li>
      <li>前端教程网三</li>
    </ul>
  </div>
</div>
</body>
</html>

上面的代码实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

(1).$(function () {}),当文档结构完全加载再去执行函数中的代码。

(2).$(".showbtn").click(function () {}),为弹出遮罩层按钮注册click事件处理函数。

(3).$("#bg").css({

  display: "block", height: $(document).height()

}),显示遮罩层。

(4).var $box = $('.box'),获取弹出层元素对象。

(5).$box.css({

  //设置弹出层距离左边的位置

  left: ($("body").width() - $box.width()) / 2 - 2 + "px",

  //设置弹出层距离上面的位置

  top: ($(window).height() - $box.height()) / 2 + $(window).scrollTop() + "px",

  display: "block"

});

上面的代码设置弹出层在页面中的位置,也就是left和top属性值。

left: ($("body").width() - $box.width()) / 2 - 2 + "px"用来设置水平居中,之所以减去二,因为有边框和外边距。

top: ($(window).height() - $box.height()) / 2 + $(window).scrollTop() + "px",用来设置弹出层在可取垂直居中。

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

  $("#bg,.box").css("display", "none");

}),点击关闭按钮可以隐藏弹出层和遮罩层。

二.相关阅读:

(1).css()方法可以参阅jQuery css()方法一章节。

(2).scrollTop()可以参阅jQuery scrollTop()方法一章节。

带有半透明效果的遮罩层代码实例,这样的场景在实际项目中还是用的比较多的,关于带有半透明效果的遮罩层代码实例就介绍到这了。

带有半透明效果的遮罩层代码实例属于前端实例代码,有关更多实例代码大家可以查看

回复

我来回复
  • 暂无回复内容