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 相关文章推荐
一个js封装的不错的选项卡效果代码
Feb 15 Javascript
解javascript 混淆加密收藏
Jan 16 Javascript
jQuery Dialog 弹出层对话框插件
Aug 09 Javascript
Jquery 绑定时间实现代码
May 03 Javascript
jQuery之$(document).ready()使用介绍
Apr 05 Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 Javascript
JS简单实现文件上传实例代码(无需插件)
Nov 15 Javascript
不同编码的页面表单数据乱码问题解决方法
Feb 15 Javascript
javascript跨域原因以及解决方案分享
Apr 08 Javascript
javascript处理a标签超链接默认事件的方法
Jun 29 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
angular4 如何在全局设置路由跳转动画的方法
Aug 30 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
php 传值赋值与引用赋值的区别
2010/12/29 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
php调整服务器时间的方法
2015/04/03 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python的文件操作方法汇总
2017/11/10 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
万年牢教学反思
2014/02/15 职场文书
自我鉴定标准格式
2014/03/19 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
财务工作检讨书
2014/10/29 职场文书
申报优秀教师材料
2014/12/16 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
python实现简单石头剪刀布游戏
2021/10/24 Python