Jquery实现遮罩层的方法


Posted in Javascript onJune 08, 2015

本文实例讲述了Jquery实现遮罩层的方法。分享给大家供大家参考。具体如下:

1、假设#main为页面body中的最外层Div标签

2、背景被遮罩后,显示的弹出窗(默认是不显示的,所包含的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中定义遮罩函数以及弹出窗操作函数,当然script.js,jquery.js需要包含在html页面中:

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();
 // 参数
 var op = {
  bgcolor : '#ccc',
  z : 5100,
  opacity : 0.3
 };
 var position = {
  top : 0,
  left : 0
 };
 var original = $("#main");
 // 创建一个 Mask 层,追加到对象中
 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标签获得高度,宽度,如果不想通过标签获得页面高度和宽度,可通过如下方式获得

/* 当前页面高度 */
 function pageHeight() {
  return document.body.scrollHeight;
 }
 /* 当前页面宽度 */
 function pageWidth() {
  return document.body.scrollWidth;
 }

4、调用遮罩层:

<script type="text/javascript">
 function init() {
  <?php
   if ($msg != "用户名输入错误") {
  ?>
   $.fn.showWarningDialog("<?php echo $msg; ?>", "false");
  <?php
   }
  ?> 
 }
 window.onload = function(){
  init();
 };
 </script>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
让Firefox支持event对象实现代码
Nov 07 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
Nov 08 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
实现图片预加载的三大方法及优缺点分析
Nov 19 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
Mar 18 Javascript
jQuery实现手机号码输入提示功能实例
Apr 30 Javascript
移动端JQ插件hammer使用详解
Jul 03 Javascript
jquery简单插件制作(fn.extend)完整实例
May 24 Javascript
原生js实现可拖拽效果
Feb 28 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
iview实现select tree树形下拉框的示例代码
Dec 21 Javascript
javascript数组去重方法总结(推荐)
Mar 20 Javascript
js正则匹配出所有图片及图片地址src的方法
Jun 08 #Javascript
Js数组排序函数sort()介绍
Jun 08 #Javascript
元素绑定click点击事件方法
Jun 08 #Javascript
JavaScript获取URL汇总
Jun 08 #Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 #Javascript
详解JavaScript中的every()方法
Jun 08 #Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
Jun 08 #Javascript
You might like
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
php中随机显示图片的函数代码
2011/06/23 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
深入剖析Node.js cluster模块
2018/05/23 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
Python中的is和id用法分析
2015/01/26 Python
TensorFlow变量管理详解
2018/03/10 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python实现批量文件重命名
2019/10/31 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
Python requests上传文件实现步骤
2020/09/15 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
护理专科毕业推荐信
2013/11/10 职场文书
办公室内勤岗位职责范本
2013/12/09 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
十八大感想感言
2014/02/10 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
法人任命书范本
2014/06/04 职场文书
2014年检验员工作总结
2014/11/19 职场文书
环卫处个人工作总结
2015/03/04 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL
python垃圾回收机制原理分析
2022/04/13 Python