Jquery實(shí)現(xiàn)遮罩層的方法
本文實(shí)例講述了Jquery實(shí)現(xiàn)遮罩層的方法。分享給大家供大家參考。具體如下:
1、假設(shè)#main為頁(yè)面body中的最外層Div標(biāo)簽
2、背景被遮罩后,顯示的彈出窗(默認(rèn)是不顯示的,所包含的CSS這里就不貼了):
<!-- Status Bar Start --> <div id="warning-dialog" class="status warning center-top no-display"> <p class="closestatus"><a href="javascript:$().hideWarningDialog()" title="Close">x</a></p> <div class="clear"></div> <p><img src="images/icon_warning.png" alt="Warning" /><span id="warning-dialog-detail">Attention!</span></p> <div class="closes"> <input type="hidden" id="refresh-after-warning" value="false" /> <input name="" type="image" src="images/niu_qd.jpg" align="absmiddle" class="button_jl" onclick="javascript:$().hideWarningDialog()" /> </div> </div> <!-- Status Bar End -->
3、在script.js中定義遮罩函數(shù)以及彈出窗操作函數(shù),當(dāng)然script.js,jquery.js需要包含在html頁(yè)面中:
var warning_dialog = $('#warning-dialog'), warning_dialog_detail = $('#warning-dialog-detail'), refresh_after_warning = $('#refresh-after-warning'); // 顯示遮罩層 $.fn.showWarningDialog = function(detail, refresh) { if ($isIE6) { $(".menu_select").hide(); } $.fn.mask(); warning_dialog_detail.html(detail); refresh_after_warning.val(refresh); warning_dialog.css({ "position" : "absolute", "left" : "50%", "top" : "50%", "margin-left" : "-250px", "margin-top" : "-100px", "border" : "solid 3px #ccc", "z-index" : 6000 }); warning_dialog.show(); } // 去除遮罩層 $.fn.hideWarningDialog = function() { if ($isIE6) { $(".menu_select").show(); } $.fn.unmask(); if (refresh_after_warning.val() == "true") { $('#main').showLoading(); location.reload(true); } else warning_dialog.hide(); } // 顯示遮罩效果 $.fn.mask = function() { this.unmask(); // 參數(shù) var op = { bgcolor : '#ccc', z : 5100, opacity : 0.3 }; var position = { top : 0, left : 0 }; var original = $("#main"); // 創(chuàng)建一個(gè) Mask 層,追加到對(duì)象中 var maskDiv = $('<div class="maskdivgen"> </div>'); maskDiv.appendTo(original); var maskWidth = original.width(); var maskHeight = original.height(); maskDiv.css({ position : 'absolute', top : position.top, left : position.left, 'z-index' : op.z, width : maskWidth, height : maskHeight, 'background-color' : op.bgcolor, opacity : 0 }); maskDiv.fadeIn('fast', function() { // 淡入淡出效果 $(this).fadeTo('fast', op.opacity); }); return maskDiv; } // 去除遮罩效果 $.fn.unmask = function() { var original = $("#main"); if (this[0] && this[0] !== window.document) { original = $(this[0]); } original.find("> div.maskdivgen").fadeOut('fast', 0, function() { $(this).remove(); }); }
本例中使用main標(biāo)簽獲得高度,寬度,如果不想通過(guò)標(biāo)簽獲得頁(yè)面高度和寬度,可通過(guò)如下方式獲得
/* 當(dāng)前頁(yè)面高度 */ function pageHeight() { return document.body.scrollHeight; } /* 當(dāng)前頁(yè)面寬度 */ function pageWidth() { return document.body.scrollWidth; }
4、調(diào)用遮罩層:
<script type="text/javascript"> function init() { <?php if ($msg != "用戶名輸入錯(cuò)誤") { ?> $.fn.showWarningDialog("<?php echo $msg; ?>", "false"); <?php } ?> } window.onload = function(){ init(); }; </script>
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
- JS遮罩層效果 兼容ie firefox jQuery遮罩層
- JQuery 遮罩層實(shí)現(xiàn)(mask)實(shí)現(xiàn)代碼
- jQuery操作dom實(shí)現(xiàn)彈出頁(yè)面遮罩層(web端和移動(dòng)端阻止遮罩層的滑動(dòng))
- jQuery阻止移動(dòng)端遮罩層后頁(yè)面滾動(dòng)
- jQuery實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)遮罩層/彈出層效果兼容IE6、IE7
- Jquery實(shí)現(xiàn)遮罩層的簡(jiǎn)單實(shí)例(就是彈出DIV周圍都灰色不能操作)
- jQuery+AJAX實(shí)現(xiàn)遮罩層登錄驗(yàn)證界面(附源碼)
- jQuery點(diǎn)擊按鈕彈出遮罩層且內(nèi)容居中特效
- jQuery實(shí)現(xiàn)彈出帶遮罩層的居中浮動(dòng)窗口效果
- jQuery實(shí)現(xiàn)打開(kāi)網(wǎng)頁(yè)自動(dòng)彈出遮罩層或點(diǎn)擊彈出遮罩層功能示例
- JavaScript實(shí)現(xiàn)的彈出遮罩層特效經(jīng)典示例【基于jQuery】
相關(guān)文章
Jquery實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫效果代碼
Jquery實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫效果代碼,需要的朋友可以參考下2012-03-03對(duì)jQuery的事件綁定的一些思考(補(bǔ)充)
一般jquery事件綁定會(huì)帶來(lái)過(guò)多的事件綁定會(huì)損耗內(nèi)存,后期生成HTML會(huì)沒(méi)有事件綁定,需要重新綁定,語(yǔ)法過(guò)于繁雜等問(wèn)題2013-04-0415個(gè)值得開(kāi)發(fā)人員關(guān)注的jQuery開(kāi)發(fā)技巧和心得總結(jié)【經(jīng)典收藏】
這篇文章主要介紹了15個(gè)值得開(kāi)發(fā)人員關(guān)注的jQuery開(kāi)發(fā)技巧和心得,詳細(xì)總結(jié)分析了jQuery常用的開(kāi)發(fā)技巧,需要的朋友可以參考下2016-05-05