JQuery.BlockUI是众多JQuery插件弹出层中的一个,它小巧(原版16k,压缩后10左右),容易使用, 功能齐全,支持Iframe,支持Modal,可定制性高也意味他默认谦虚的外表。
jQuery的BlockUI插件可以让你在使用AJAX时模拟同步行为,锁定浏览器(模式窗口)。当被激活时,它会防止用户活动的页面(或页面的一部分),直到它被禁用。 BlockUI添加元素的DOM,给它的外观和阻止用户交互行为。
1、首先引入插件
<script src="jquery.min.js" type="text/javascript"></script> <script src="JQuery.BlockUI.min.2.39.js" type="text/javascript"></script>
2、调用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title></title> <script src="jquery.min.js" type="text/javascript"></script> <script src="JQuery.BlockUI.min.2.39.js" type="text/javascript"></script> <script type="text/javascript"> $( function () { $('#Button1').click(function () { //阻止页面的用户的活动 $.blockUI(); }); $('#Button2').click(function () { //自定义信息内容 $.blockUI({ message: '<h3><img src="busy.gif" /> Just a moment...</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(); <input id="Button1" type="button" value="测试" /> </li> <li>自定义消息: <input id="Button2" type="button" value="测试" /> </li> <li>自定义样式: <input id="Button3" type="button" value="测试" /> </li> <li>弹出指定的元素,并关闭弹出层(该层可以为隐藏): <input id="Button4" type="button" value="测试" /> </li> <li>设置淡入,淡出,自动关闭时间: <input id="Button5" type="button" value="测试" /> </li> </ol> <div id="domMessage" style ="text-align: center; width: 200px; height: 50px; border; 1px solid #9cf; padding: 25px; display: none;"> <h3> Message</h3> <input id="btnClose" type="button" value="关闭" /> </div></body></html>
3、样式修改
jQuery blockUI 提供的默认样式过于朴素, 可以在每一次调用blockUI() 函数时进行修改. 也一次直接修改库文件 jquery.blockUI.js, 修改$.blockUI.defaults 对象相关的代码:
显示源码
// 重写defaults对象中的属性 $.blockUI.defaults = { // 弹出的信息 message: '<h1>Please wait...</h1>', // 定义消息框样式 // $.blockUI.defaults.css = {}; // 默认定义消息框样式Css样式 css: { padding: 0, margin: 0, width: '30%', top: '40%', left: '35%', textAlign: 'center', color: '#000', border: '3px solid #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, // be default blockUI will supress tab navigation from leaving blocking content // (if bindEvents is true) // 遮罩内容的Tab导航是否可用 constrainTabKey: true, // 淡入时间 fadeIn: 200, // 淡出时间 fadeOut: 400, // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock // 自动淡出时间 timeout: 0, // disable if you don't want to show the overlay // 是否自动遮罩 showOverlay: true, // if true, focus will be placed in the first available input field when // page blocking // 自动获得焦点 focusInput: true, // 抑制FF/Linux的叠加样式的使用(由于具有不透明的性能问题) applyPlatformOpacityRules: true, // 调用解封已完成时回调方法; // onUnblock(element, options) onUnblock: null
总结:上面的文字个人认为写的比较烂,但基本的使用没有问题,详尽的支持是官网:,这个站还有一些其它插件也值得看看。