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

时间:2021-05-25

第一款:页面遮罩弹出框是最常见的一种状况,用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{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高于遮罩层,这样弹出层就高亮显示了。然后点击关闭弹出层按钮的时候,让弹出层隐藏,同时也让遮罩层隐藏。这种方法写法是比较快速的,后续有空我会把这段代码写成公共函数,这样方便多次调用。

以上就是本文的全部内容,希望对大家的学习有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章