JQuery.BlockUI弹框插件

xiaoxiao2021-02-28  84

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();             });.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:.blockUI({ message:('#domMessage') });             });             $('#btnClose').click(function() {                 //关闭弹出层                 .unblockUI();             });.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

 

 总结:上面的文字个人认为写的比较烂,但基本的使用没有问题,详尽的支持是官网:http://www.malsup.com/jquery/block/,这个站还有一些其它插件也值得看看。

转载请注明原文地址: https://www.6miu.com/read-66705.html

最新回复(0)