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

2020-05-16 18:45:44易采站长站整理

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

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

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

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


/**
* @部分参数说明
*/
(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',