轻量级网页遮罩层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 相关文章推荐
一样的table?不一样的table(可编辑状态table)
Sep 19 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
May 17 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
js读取csv文件并使用json显示出来
Jan 09 Javascript
jquery单选框radio绑定click事件实现方法
Jan 14 Javascript
jquery使用animate方法实现控制元素移动
Mar 27 Javascript
jQuery实现类似淘宝网图片放大效果的方法
Jul 08 Javascript
Bootstrap每天必学之响应式导航、轮播图
Apr 25 Javascript
快速将Vue项目升级到webpack3的方法步骤
Sep 14 Javascript
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
详解vue中移动端自适应方案
May 05 Javascript
js实现列表按字母排序
Aug 11 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
多人战的战术与战略
2020/03/04 星际争霸
php中使用sftp教程
2015/03/30 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
php依赖注入知识点详解
2019/09/23 PHP
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
jQuery过滤特殊字符及JS字符串转为数字
2016/05/26 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
Python random模块常用方法
2014/11/03 Python
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
用python实现百度翻译的示例代码
2018/03/09 Python
python3 pygame实现接小球游戏
2019/05/14 Python
简单了解Django ContentType内置组件
2019/07/23 Python
Python简单实现区域生长方式
2020/01/16 Python
师范大学音乐表演专业求职信
2013/10/23 职场文书
银行领导证婚词
2014/01/11 职场文书
日化店促销方案
2014/03/26 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
大国崛起日本观后感
2015/06/02 职场文书