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 相关文章推荐
理解JSON:3分钟课程
Oct 28 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
Oct 11 Javascript
jQuery点击弹出下拉菜单的小例子
Aug 01 Javascript
javascript简单实现命名空间效果
Mar 06 Javascript
详解JavaScript对象序列化
Jan 19 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
Node.js的Koa框架上手及MySQL操作指南
Jun 13 Javascript
JS瀑布流实现方法实例分析
Dec 19 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
Jan 10 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
微信小程序实现列表滚动头部吸顶的示例代码
Jul 12 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
windows中为php安装mongodb与memcache
2015/01/06 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
javascript radio 联动效果
2009/03/04 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
JavaScript必看小技巧(必看)
2016/06/07 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
Python使用剪切板的方法
2017/06/06 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
python实现Flappy Bird源码
2018/12/24 Python
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
入党自我鉴定范文
2013/10/04 职场文书
八项规定整改措施
2014/02/12 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
深入解析MySQL索引数据结构
2021/10/16 MySQL