`

一个轻量级的网页遮罩层jQuery插件

 
阅读更多

 

一个轻量级的网页遮罩层jQuery插件

分类: jQuery 43人阅读 评论(0) 收藏 举报

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

 

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

 

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

 

 

[javascript] view plaincopy
  1. /** 
  2.  * @部分参数说明 
  3.  */  
  4. (function($){  
  5.     $.fn.extend({  
  6.         //主函数  
  7.         toggleLoading: function(options){  
  8.             // 找到遮罩层  
  9.             var crust = this.children(".x-loading-wanghe");  
  10.             // 当前操作的元素  
  11.             var thisjQuery = this;  
  12.             // 实现toogle(切换遮罩层出现与消失)效果的判断方法  
  13.             if(crust.length>0){  
  14.                 if(crust.is(":visible")){  
  15.                     crust.fadeOut(500);  
  16.                 }else{  
  17.                     crust.fadeIn(500);  
  18.                 }  
  19.                 return this;  
  20.             }  
  21.             // 扩展参数  
  22.             var op = $.extend({  
  23.                 z: 9999,  
  24.                 msg:'数据加载中...',  
  25.                 iconUrl:'images/loading.gif',  
  26.                 width:18,  
  27.                 height:18,  
  28.                 borderColor:'#6bc4f5',  
  29.                 opacity:0.5,  
  30.                 agentW:thisjQuery.outerWidth(),  
  31.                 agentH:thisjQuery.outerHeight()  
  32.             },options);  
  33.               
  34.             if(thisjQuery.css("position")=="static")  
  35.                 thisjQuery.css("position","relative");  
  36.             //var w = thisjQuery.outerWidth(),h = thisjQuery.outerHeight();  
  37.               
  38.             var w = op.agentW,h = op.agentH;                              
  39.             crust = $("<div></div>").css({//外壳  
  40.                 'position''absolute',  
  41.                 'z-index': op.z,  
  42.                 'display':'none',  
  43.                 'width':w+'px',  
  44.                 'height':h+'px',  
  45.                 'text-align':'center',  
  46.                 'top''0px',  
  47.                 'left''0px',  
  48.                 'font-family':'arial',  
  49.                 'font-size':'12px',  
  50.                 'font-weight':'500'  
  51.             }).attr("class","x-loading-wanghe");  
  52.               
  53.             var mask = $("<div></div>").css({//蒙版  
  54.                 'position''absolute',  
  55.                 'z-index': op.z+1,  
  56.                 'width':'100%',  
  57.                 'height':'100%',  
  58.                 'background-color':'#333333',  
  59.                 'top''0px',  
  60.                 'left''0px',  
  61.                 'opacity':op.opacity  
  62.             });  
  63.             //71abc6,89d3f8,6bc4f5  
  64.             var msgCrust = $("<span></span>").css({//消息外壳  
  65.                     'position''relative',  
  66.                     'top': (h-30)/2+'px',  
  67.                     'z-index': op.z+2,  
  68.                     'height':'24px',  
  69.                     'display':'inline-block',  
  70.                     'background-color':'#cadbe6',  
  71.                     'padding':'2px',  
  72.                     'color':'#000000',  
  73.                     'border':'1px solid '+op.borderColor,  
  74.                     'text-align':'left',  
  75.                     'opacity':0.9  
  76.                 });  
  77.             var msg = $("<span>"+op.msg+"</span>").css({//消息主体  
  78.                     'position''relative',  
  79.                     'margin''0px',  
  80.                     'z-index': op.z+3,  
  81.                     'line-height':'22px',  
  82.                     'height':'22px',  
  83.                     'display':'inline-block',  
  84.                     'background-color':'#efefef',  
  85.                     'padding-left':'25px',  
  86.                     'padding-right':'5px',  
  87.                     'border':'1px solid '+op.borderColor,  
  88.                     'text-align':'left',  
  89.                     'text-indent':'0'  
  90.                 });  
  91.             var msgIcon =  $("<img src="+op.iconUrl+" />").css({//图标  
  92.                     'position''absolute',  
  93.                     'top''3px',  
  94.                     'left':'3px',  
  95.                     'z-index': op.z+4,  
  96.                     'width':'18px',  
  97.                     'height':'18px'  
  98.                 });   
  99.             // 拼装遮罩层  
  100.             msg.prepend(msgIcon);  
  101.             msgCrust.prepend(msg);  
  102.             crust.prepend(mask);  
  103.             crust.prepend(msgCrust);  
  104.             thisjQuery.prepend(crust);  
  105.             // alert(thisjQuery.html());  
  106.             crust.fadeIn(500);  
  107.             //模态设置  
  108.             return this;  
  109.         }  
  110.     });  
  111. })(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插件用法实例

    轻量级网页遮罩层jQuery插件是指一个简单的jQuery插件,旨在为网页提供一个遮罩层功能。通过该插件,开发者可以方便地为网页添加一个半透明的遮罩层,并在其上显示加载状态或信息提示,例如“数据加载中”等提示信息...

    JS遮罩插件( jquery 1.9后的版本 )

    JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,能够对用户界面进行实时更新和交互。在这个主题中,我们关注的是一个基于jQuery库的遮罩插件,适用于jQuery 1.9及更高版本。jQuery是...

    jquery遮罩插件

    其中,“Simple Overlay”是一款轻量级的jQuery遮罩插件,它设计简洁,易于使用,可以快速为网页添加遮罩效果。 **一、Simple Overlay 插件的特性** 1. **轻量级**: Simple Overlay插件体积小巧,对页面性能的影响...

    【不下载就后悔系列】js特效之遮罩层的巧妙应用

    jQuery是一个轻量级的JavaScript库,提供了许多便捷的DOM操作方法,使得添加、移除和控制遮罩层变得更加简单。在“js特效”这个领域,jQuery插件如“jQuery Mask Plugin”等可以帮助开发者快速实现复杂的遮罩效果,...

    jquery插件thickbox遮罩层的的使用

    Thickbox是一款轻量级的jQuery插件,它能够创建全屏弹出窗口,用于展示图片、视频或者任何网页内容。这个插件常用于创建类似蒙版的效果,使得用户可以专注于当前展示的内容,而不会被页面其他元素所打扰。 首先,要...

    qq空间遮罩层jQuery相册切换.zip

    首先,jQuery是一个轻量级、高性能的JavaScript库,它简化了JavaScript的DOM操作、事件处理、动画设计以及Ajax交互。在本案例中,jQuery被用于实现图片的动态切换和遮罩层的显示与隐藏,使得代码更加简洁且易于维护...

    基于jquery的BlockUI做的遮罩层

    BlockUI是一款非常实用的jQuery插件,它能够方便地实现页面区域的锁定,即在特定操作期间显示一个遮罩层,提升用户体验。 BlockUI的主要功能包括: 1. **创建遮罩层**:当需要用户等待某些长时间运行的操作完成时...

    jquery提示遮罩层

    这个插件的设计理念是提供一个轻量级、易于使用的解决方案,帮助开发者快速实现页面上的信息提示和交互体验优化。 首先,遮罩层在网页设计中扮演着重要角色,它可以用于加载指示、弹窗提示、页面背景模糊等效果,...

    带遮罩层弹出框展示图片插件

    【标签】"jquery colorbox demo"表明这个插件是基于jQuery库实现的,Colorbox是一个流行的轻量级插件,它能创建弹出式的图片、iframe、HTML内容等。"demo"意味着包含了一个示例文件,帮助开发者理解如何在自己的项目...

    jQuery遮罩层在线QQ客服代码.zip

    jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画设计以及Ajax交互。在本例中,jQuery 1.7.1.js是用于构建遮罩层和在线客服对话框的基础。 1. **jQuery遮罩层**:遮罩层是一种在网页上覆盖一层...

    imgBox 基于jQuery的居中显示大图带遮罩层的插件.zip

    imgBox是一款基于jQuery的图片居中显示插件,它能够为用户提供一个带有遮罩层的大图浏览体验。在网页设计中,特别是在展示产品细节或图片集时,这种功能非常常见,能够提供良好的用户体验,使用户可以方便地查看高清...

    jQuery结合Css3制作的多风格轻量级弹出动感对话框插件特效源码.zip

    《jQuery结合Css3实现的轻量级弹出对话框插件特效详解》 在Web开发中,对话框(Modal)是一种常见的用户交互元素,用于显示警告、确认信息或提供额外的功能区域。本教程将深入探讨如何利用jQuery和CSS3技术构建多...

    一个JQuery插件 - Javascript可拖动的模式窗口

    jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。jQuery的核心特性包括选择器(用于选取HTML元素)、链式操作(对选取的元素进行多个操作)和高效的效果函数。该插件利用了...

    网页模板——jQuery遮罩点击图片弹出放大预览插件.zip

    jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。其简洁的API使得开发者能够快速实现各种动态效果和交互功能。在本案例中,jQuery被用来实现图片预览功能。 遮罩层(Mask)...

    jquery插件,点击图片遮罩放大显示

    Fancybox是一款流行的轻量级图片和媒体展示工具,它具有优雅的过渡效果,可以为网站增添专业的视觉体验。 Fancybox的核心功能是创建一个全屏或半屏的弹出窗口,用于展示图片、HTML内容、视频等。在实现"点击图片...

    jQuery遮罩弹出图片预览插件.zip

    首先,jQuery是JavaScript的一个轻量级库,它简化了DOM操作、事件处理、动画制作和Ajax交互等任务。在这个遮罩弹出图片预览插件中,jQuery起到了核心作用,负责监听用户的交互事件,如点击图片链接,然后触发预览...

    jquery弹出层插件SexyLightBox

    2. **轻量级**:该插件体积小巧,加载速度快,不会对网站性能造成太大负担,符合现代网页设计追求轻量化的原则。 3. **易用性**:SexyLightBox易于集成到任何HTML页面,只需要简单的几行代码即可实现弹出层功能。 4....

    jQuery 遮罩层

    jQuery是由John Resig在2006年创建的一个轻量级的JavaScript库,它的目标是简化JavaScript编程,通过封装了一系列高效的方法,使得DOM操作、事件处理、动画效果等变得更加简单。jQuery的核心理念是“Write Less, Do ...

Global site tag (gtag.js) - Google Analytics