分享兩款帶遮罩的jQuery彈出框,遮罩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 彈出框定位實現方法
- 基於jquery的彈出提示框始終處於視窗的置中位置(類似於alert彈出框的效果)
- 基於jQuery的彈出框外掛程式
- jquery外掛程式之資訊彈出框showInfoDialog(成功/錯誤/警告/通知/背景遮罩)
- jquery.boxy彈出框(後隔N秒後自動隱藏/自動跳轉)
- js彈出框輕量級外掛程式jquery.boxy使用介紹
- jQuery+css+html實現頁面遮罩彈出框
- jquery彈出框的用法樣本(一)