分享两款带遮罩的jQuery弹出框
第一款:页面遮罩弹出框是最常见的一种状况,用jQuery完成页面遮罩弹出框,主要用的技能有JQuery,css与html。
html代码下列:
<divid="main"><ahref="javascript:showBg();">点击这里查看效果</a> <divid="fullbg"></div> <divid="dialog"> <pclass="close"><ahref="#"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:5pxsolidrgba(0,0,0,0.4);
height:400px;
left:50%;
margin:-200px00-200px;
padding:1px;
position:fixed!important;/*浮动对话框*/
position:absolute;
top:50%;
width:400px;
z-index:5;
border-radius:5px;
display:none;
}
#dialogp{
margin:0012px;
height:24px;
line-height:24px;
bac公斤round:#CCCCCC;
}
#dialogp.close{
text-align:right;
padding-right:10px;
}
#dialogp.closea{
color:#fff;
text-decoration:none;
}
jQuery代码以下:
<scripttype="text/javascript">
//展示灰色jQuery遮罩层
functionshowBg(){
varbh=$("body").height();
varbw=$("body").width();
$("#fullbg").css({
height:bh,
width:bw,
display:"block"
});
$("#dialog").show();
}
//关闭灰色jQuery遮罩
functioncloseBg(){
$("#fullbg,#dialog").hide();
}
</script>
第二款:简单制作一个jQuery遮罩层,当然也可以做成公共函数,方便以后多次使用.本教程适合新手。
首先给出html:
<pclass="showbtn"><ahref="javascript:void(0);">显示遮罩层</a></p> <divid="bg"></div> <divclass="box"style="display:none"> <h2>jQuery学习交流<ahref="#"class="close">关闭</a></h2> <divclass="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#dddsolid;padding:1px;}
.boxh2{height:25px;font-size:14px;background-color:#aaa;position:relative;padding-left:10px;line-height:25px;color:#fff;}
.boxh2a{position:absolute;right:5px;font-size:12px;color:#fff;}
.box.list{padding:10px;}
.box.listli{height:24px;line-height:24px;}
.box.listlispan{margin:05px00;font-family:"宋体";font-size:12px;font-weight:400;color:#ddd;}
.showbtn{font:bold24px'微软雅黑';}
#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高于遮罩层,这样弹出层就高亮显示了。然后点击关闭弹出层按钮的时候,让弹出层隐藏,同时也让遮罩层隐藏。这种方法写法是比较快速的,后续有空我会把这段代码写成公共函数,这样方便多次调用。
以上就是本文的全部内容,希望对大家的学习有所帮助。