轻量级网页遮罩层jQuery插件用法实例


Posted in Javascript onJuly 31, 2015

本文实例讲述了轻量级网页遮罩层jQuery插件用法。分享给大家供大家参考。具体如下:

使用jQuery的好处是很多人为它写一些组件,而在项目所需用到功能也都可以找到一些组件去完成。

现在又这样一个需求当用户点击一个按钮后不允许用户进行任何的操作,取而代之的是弹出一个遮罩层显示一个loading提示框,效果如下。

轻量级网页遮罩层jQuery插件用法实例

其实这个需求很简单,但很多组件体积相对这个需求来说太大了,在网上瞎溜达了找到了一个还不错的组件,作者是上面也没有写。现在就来分析一下这个组件的源码和使用

/**
 * @部分参数说明
 */
(function($){
 $.fn.extend({
  //主函数
  toggleLoading: function(options){
      // 找到遮罩层
    var crust = this.children(".x-loading-wanghe");
      // 当前操作的元素
      var thisjQuery = this;
      // 实现toogle(切换遮罩层出现与消失)效果的判断方法
    if(crust.length>0){
      if(crust.is(":visible")){
        crust.fadeOut(500);
      }else{
        crust.fadeIn(500);
      }
      return this;
    }
   // 扩展参数
   var op = $.extend({
    z: 9999,
    msg:'数据加载中...',
    iconUrl:'images/loading.gif',
    width:18,
    height:18,
    borderColor:'#6bc4f5',
    opacity:0.5,
        agentW:thisjQuery.outerWidth(),
        agentH:thisjQuery.outerHeight()
   },options);
   if(thisjQuery.css("position")=="static")
     thisjQuery.css("position","relative");
   //var w = thisjQuery.outerWidth(),h = thisjQuery.outerHeight();
   var w = op.agentW,h = op.agentH;
   crust = $("<div></div>").css({//外壳
    'position': 'absolute',
    'z-index': op.z,
    'display':'none',
    'width':w+'px',
    'height':h+'px',
    'text-align':'center',
    'top': '0px',
    'left': '0px',
    'font-family':'arial',
    'font-size':'12px',
    'font-weight':'500'
   }).attr("class","x-loading-wanghe");
   var mask = $("<div></div>").css({//蒙版
    'position': 'absolute',
    'z-index': op.z+1,
    'width':'100%',
    'height':'100%',
    'background-color':'#333333',
    'top': '0px',
    'left': '0px',
    'opacity':op.opacity
   });
   //71abc6,89d3f8,6bc4f5
   var msgCrust = $("<span></span>").css({//消息外壳
      'position': 'relative',
        'top': (h-30)/2+'px',
      'z-index': op.z+2,
      'height':'24px',
      'display':'inline-block',
      'background-color':'#cadbe6',
      'padding':'2px',
      'color':'#000000',
      'border':'1px solid '+op.borderColor,
      'text-align':'left',
      'opacity':0.9
     });
   var msg = $("<span>"+op.msg+"</span>").css({//消息主体
       'position': 'relative',
       'margin': '0px',
      'z-index': op.z+3,
      'line-height':'22px',
      'height':'22px',
      'display':'inline-block',
      'background-color':'#efefef',
      'padding-left':'25px',
      'padding-right':'5px',
      'border':'1px solid '+op.borderColor,
      'text-align':'left',
      'text-indent':'0'
     });
      var msgIcon = $("<img src="+op.iconUrl+" />").css({//图标
      'position': 'absolute',
      'top': '3px',
      'left':'3px',
      'z-index': op.z+4,
      'width':'18px',
      'height':'18px'
     });  
      // 拼装遮罩层
   msg.prepend(msgIcon);
    msgCrust.prepend(msg);
    crust.prepend(mask);
    crust.prepend(msgCrust);
   thisjQuery.prepend(crust);
     // alert(thisjQuery.html());
   crust.fadeIn(500);
   //模态设置
   return this;
  }
 });
})(jQuery);

相关配置

配置&configure


全部配置 默认值 说明
z: 9999 图层z-index,当蒙版遮罩不住时候适当增大其值
msg: 数据加载中... 提示信息
iconUrl: images/loading.gif 提示图片url
height: 18 图标默认高(px)
width: 18 图标默认宽(px)
borderColor #6bc4f5 提示的边框颜色
opacity: 0.5 蒙版的透明度
agentW: 当前元素的宽度 蒙版的宽度
agentH: 当前元素的高度 蒙版的高度

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

Javascript 相关文章推荐
Javascript 验证上传图片大小[客户端]
Aug 01 Javascript
购物车选中得到价格实现示例
Jan 26 Javascript
父页面显示遮罩层弹出半透明状态的dialog
Mar 04 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
Feb 28 Javascript
JavaScript编写九九乘法表(两种任选)
Feb 04 Javascript
Node.js 8 中的 util.promisify的详解
Jun 12 Javascript
JavaScript使用闭包模仿块级作用域操作示例
Jan 21 Javascript
Vue.js实现开发购物车功能的方法详解
Feb 22 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 Javascript
Js通过AES加密后PHP用Openssl解密的方法
Jul 12 Javascript
JavaScript大数相加相乘的实现方法实例
Oct 18 Javascript
js实时获取并显示当前时间的方法
Jul 31 #Javascript
Javascript实现的Map集合工具类完整实例
Jul 31 #Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 #Javascript
javascript实现列表滚动的方法
Jul 30 #Javascript
百度地图API之本地搜索与范围搜索
Jul 30 #Javascript
javaScript实现滚动新闻的方法
Jul 30 #Javascript
javascript中递归函数用法注意点
Jul 30 #Javascript
You might like
长波知识介绍
2021/03/01 无线电
通过文字传递创建的图形按钮
2006/10/09 PHP
CURL状态码列表(详细)
2013/06/27 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
jQuery入门知识简介
2010/03/04 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
电子狗项圈:eDog Australia
2019/12/04 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
鲜果饮品店创业计划书
2014/01/21 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
三方合作协议书范本
2014/04/18 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
幼师求职自荐信
2015/03/26 职场文书
质检员岗位职责范本
2015/04/07 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
冰雪公主观后感
2015/06/16 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers