带有半透明效果的遮罩层代码实例
本章节分享一段代码实例,它实现了点击按钮弹出带有半透明遮罩层的效果。
代码实例如下:
<!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()方法一章节。
带有半透明效果的遮罩层代码实例,这样的场景在实际项目中还是用的比较多的,关于带有半透明效果的遮罩层代码实例就介绍到这了。
带有半透明效果的遮罩层代码实例属于前端实例代码,有关更多实例代码大家可以查看。