分享两款带遮罩的jQuery弹出框

第一款:页面遮罩弹出框是最常见的一种状况,用jQuery完成页面遮罩弹出框,主要用的技能有JQuery,css与html。

 html代码下列:

<div id="main"><a href="javascript:showBg();">点击这里查看效果</a>

<div id="fullbg"></div>

<div id="dialog">

<p class="close"><a href="#" onclick="closeBg();">封闭</a></p>

<div>正在加载,请稍后....</div>

</div>

</div>

css代码以下:

body {

font-family:Arial, Helvetica, sans-serif;

font-size:12px;

margin:0;

}

#main {

height:1800px;

padding-top:90px;

text-align:center;

}

#fullbg {

bac千克round-color:gray;

left:0;

opacity:0.5;

position:absolute;

top:0;

z-index:3;

filter:alpha(opacity=50);

-moz-opacity:0.5;

-khtml-opacity:0.5;

}

#dialog {

bac公斤round-color:#fff;

border:5px solid rgba(0,0,0, 0.4);

height:400px;

left:50%;

margin:-200px 0 0 -200px;

padding:1px;

position:fixed !important; /* 浮动对话框 */

position:absolute;

top:50%;

width:400px;

z-index:5;

border-radius:5px;

display:none;

}

#dialog p {

margin:0 0 12px;

height:24px;

line-height:24px;

bac公斤round:#CCCCCC;

}

#dialog p.close {

text-align:right;

padding-right:10px;

}

#dialog p.close a {

color:#fff;

text-decoration:none;

}

jQuery代码以下:

<script type="text/javascript">

//展示灰色 jQuery 遮罩层

function showBg() {

var bh = $("body").height();

var bw = $("body").width();

$("#fullbg").css({

height:bh,

width:bw,

display:"block"

});

$("#dialog").show();

}

//关闭灰色 jQuery 遮罩

function closeBg() {

$("#fullbg,#dialog").hide();

}

</script>

第二款:简单制作一个jQuery遮罩层,当然也可以做成公共函数,方便以后多次使用.本教程适合新手。

首先给出html:

<p class="showbtn"><a href="javascript:void(0);">显示遮罩层</a></p>

<div id="bg"></div>

<div class="box" style="display:none">

<h2>jQuery 学习交流<a href="#" class="close">关闭</a></h2>

<div class="list">

<ul>

<li></li>

<li></li>

<li></li>

</ul>

</div>

</div>

遮罩层的样式如下:

/* box */

.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;}

.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:#666;position:absolute;z-index:99;left:0;top:0;display:none;width:100%;height:100%;opacity:0.5;filter: alpha(opacity=50);-moz-opacity: 0.5;}

最后是jQuery来实现弹出层的显示和隐藏:

$(function () {

$(".showbtn").click(function () {

$("#bg").css({

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

});

var $box = $('.box');

$box.css({

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

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

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

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

display: "block"

});

});

//点击关闭按钮的时候,遮罩层关闭

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

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

});

});

总结:使用jQuery实现遮罩的思路就是点击按钮的时候触发遮罩层,过弹出层的css层级z-index让遮罩层遮住整个页面,同时通过弹出层的css层级z-index高于遮罩层,这样弹出层就高亮显示了。然后点击关闭弹出层按钮的时候,让弹出层隐藏,同时也让遮罩层隐藏。这种方法写法是比较快速的,后续有空我会把这段代码写成公共函数,这样方便多次调用。

以上是 分享两款带遮罩的jQuery弹出框 的全部内容, 来源链接: utcz.com/z/320623.html

回到顶部