JQuery.BlockUI是众多JQuery插件弹出层中的一个,它小巧(原版16k,压缩后10左右),容易使用, 功能齐全,支持Iframe,支持Modal,可定制性高也意味他默认谦虚的外表。
jQuery的BlockUI插件可以让你在使用AJAX时模拟同步行为,锁定浏览器(模式窗口)。当被激活时,它会防止用户活动的页面(或页面的一部分),直到它被禁用。 BlockUI添加元素的DOM,给它的外观和阻止用户交互行为。
1、首先引入插件
<scriptsrc="jquery.min.js"type="text/javascript"></script>
<scriptsrc="JQuery.BlockUI.min.2.39.js"type="text/javascript"></script>
2、调用
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<scriptsrc="jquery.min.js"type="text/javascript"></script>
<scriptsrc="JQuery.BlockUI.min.2.39.js"type="text/javascript"></script>
<scripttype="text/javascript">
$(function(){
$('#Button1').click(function(){
//阻止页面的用户的活动
$.blockUI();
});
$('#Button2').click(function(){
//自定义信息内容
$.blockUI({message:'<h3><imgsrc="busy.gif"/>Justamoment...</h3>'});
});
$('#Button3').click(function(){
//自定义样式
$.blockUI({css:{backgroundColor:'#f00',color:'#fff'}});
});
$('#Button4').click(function(){
//定义弹出的信息为页面的某一个元素
$.blockUI({message:$('#domMessage')});
});
$('#btnClose').click(function(){
//关闭弹出层
$.unblockUI();
});
$('#Button5').click(function(){
//设置淡入,淡出,自动关闭时间
$.blockUI({fadeIn:700,fadeOut:700,timeout:2000});
});
//简单的气泡提示
$.growlUI('提示','删除成功!');
});
</script>
</head>
<body>
<ol>
<li>阻止页面的用户的活动,不会自动消失,请刷新:$.blockUI();
<inputid="Button1"type="button"value="测试"/>
</li>
<li>自定义消息:
<inputid="Button2"type="button"value="测试"/>
</li>
<li>自定义样式:
<inputid="Button3"type="button"value="测试"/>
</li>
<li>弹出指定的元素,并关闭弹出层(该层可以为隐藏):
<inputid="Button4"type="button"value="测试"/>
</li>
<li>设置淡入,淡出,自动关闭时间:
<inputid="Button5"type="button"value="测试"/>
</li>
</ol>
<divid="domMessage"style="text-align:center;width:200px;height:50px;border;
1pxsolid#9cf;padding:25px;display:none;">
<h3>
Message</h3>
<inputid="btnClose"type="button"value="关闭"/>
</div>
</body>
</html>
3、样式修改
jQuery blockUI 提供的默认样式过于朴素, 可以在每一次调用blockUI() 函数时进行修改. 也一次直接修改库文件 jquery.blockUI.js, 修改$.blockUI.defaults 对象相关的代码:
显示源码
//重写defaults对象中的属性
$.blockUI.defaults={
//弹出的信息
message:'<h1>Pleasewait...</h1>',
//定义消息框样式
//$.blockUI.defaults.css={};
//默认定义消息框样式Css样式
css:{
padding:0,
margin:0,
width:'30%',
top:'40%',
left:'35%',
textAlign:'center',
color:'#000',
border:'3pxsolid#aaa',
backgroundColor:'#fff',
cursor:'wait'
},
//遮罩样式
overlayCSS:{
backgroundColor:'#000',//颜色
opacity:0.6//透明度
},
//使用$.growlUI完成自动气泡时的样式
growlCSS:{
width:'350px',
top:'10px',
left:'',
right:'10px',
border:'none',
padding:'5px',
opacity:0.6,
cursor:null,
color:'#fff',
backgroundColor:'#000',
'-webkit-border-radius':'10px',//貌似是圆角
'-moz-border-radius':'10px'
},
//是否在非IE浏览器中使IFrame获得焦点,未验证的
forceIframe:false,
//遮罩层的Z-Index值,越大越在上面
baseZ:1000,
//是否居中
centerX:true,
centerY:true,
//是否允许拉大
//短的网页上。禁用如果你想防止车身高度的变化
allowBodyStretch:true,
//遮罩时是否禁用键盘和鼠标事件
bindEvents:true,
//bedefaultblockUIwillsupresstabnavigationfromleavingblockingcontent
//(ifbindEventsistrue)
//遮罩内容的Tab导航是否可用
constrainTabKey:true,
//淡入时间
fadeIn:200,
//淡出时间
fadeOut:400,
//timeinmillistowaitbeforeauto-unblocking;setto0todisableauto-unblock
//自动淡出时间
timeout:0,
//disableifyoudon'twanttoshowtheoverlay
//是否自动遮罩
showOverlay:true,
//iftrue,focuswillbeplacedinthefirstavailableinputfieldwhen
//pageblocking
//自动获得焦点
focusInput:true,
//抑制FF/Linux的叠加样式的使用(由于具有不透明的性能问题)
applyPlatformOpacityRules:true,
//调用解封已完成时回调方法;
//onUnblock(element,options)
onUnblock:null
总结:上面的文字个人认为写的比较烂,但基本的使用没有问题,详尽的支持是官网:http://www.malsup.com/jquery/block/,这个站还有一些其它插件也值得看看。