jQuery遮罩插件 jquery.blockUI.js

Overview

jQuery BlockUI 插件可以在不同锁定浏览器的同时,模拟同步模式下发起Ajax请求的行为。该插件激活时,会组织用户在页面进行的操作,直到插件被关闭。BlockUI通过向DOM中添加元素实现其外观和组织用户交互的行为。

使用jQuery BlockUI,首先需要在jQuery后面引用 jquery.blockUI.js

jquery.blockUI.js插件下载地址:http://jquery.malsup.com/block/

用法很简单,组织用户对页面的交互:

$.blockUI();

使用自定义信息阻塞UI

$.blockUI({ message: ‘<h1><img src="busy.gif" /> Just a moment...</h1>‘ });

使用自定义样式阻塞UI

$.blockUI({ css: { backgroundColor: ‘#f00‘, color: ‘#fff‘} });

解除对页面的遮罩

$.unblockUI();

如果你先要使用缺省设置对所有的ajax请求都使用UI遮罩,只需要添加下面语句即可

$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);

使用例子:

页面遮罩示例:

This page demonstrates several ways to block the page. Each button below activates blockUI and then makes a remote call to the server.

The following code is used on this page:

<script type="text/javascript">      // unblock when ajax activity stops     $(document).ajaxStop($.unblockUI);      function test() {         $.ajax({ url: ‘wait.php‘, cache: false });     }      $(document).ready(function() {         $(‘#pageDemo1‘).click(function() {             $.blockUI();             test();         });         $(‘#pageDemo2‘).click(function() {             $.blockUI({ message: ‘<h1><img src="busy.gif" /> Just a moment...</h1>‘ });             test();         });         $(‘#pageDemo3‘).click(function() {             $.blockUI({ css: { backgroundColor: ‘#f00‘, color: ‘#fff‘ } });             test();         });          $(‘#pageDemo4‘).click(function() {             $.blockUI({ message: $(‘#domMessage‘) });             test();         });     });  </script>  ...  <div id="domMessage" style="display:none;">     <h1>We are processing your request.  Please be patient.</h1> </div> 

页面元素遮罩示例:

This page demonstrates how to block selected elements on the page rather than the entire page. The buttons below will block/unblock access to the bordered area beneath them.

Test link - click me!

Option 1
Option 2
 lorem ipsum dolor sit amet consectetuer adipiscing elit sed lorem leo lorem leo consectetuer adipiscing elit sed lorem leo rhoncus sit amet
Option 1
Option 2
 lorem ipsum dolor sit amet consectetuer adipiscing elit sed lorem leo Test link - click me! lorem leo consectetuer adipiscing elit sed lorem leo rhoncus sit amet

This text will not be blocked. Test link - click me!

The following code is used on this page:

<script type="text/javascript">     $(document).ready(function() {          $(‘#blockButton‘).click(function() {             $(‘div.test‘).block({ message: null });         });          $(‘#blockButton2‘).click(function() {             $(‘div.test‘).block({                 message: ‘<h1>Processing</h1>‘,                 css: { border: ‘3px solid #a00‘ }             });         });          $(‘#unblockButton‘).click(function() {             $(‘div.test‘).unblock();         });          $(‘a.test‘).click(function() {             alert(‘link clicked‘);             return false;         });     }); </script> 

简单模态框示例:

This page demonstrates how to display a simple modal dialog. The button below will invoke blockUI with a custom message. Depending upon the user response (yes or no) an ajax call will be made while keeping the UI blocked.

The following code is used on this page:

<script type="text/javascript">     $(document).ready(function() {          $(‘#test‘).click(function() {             $.blockUI({ message: $(‘#question‘), css: { width: ‘275px‘ } });         });          $(‘#yes‘).click(function() {             // update the block message             $.blockUI({ message: "<h1>Remote call in progress...</h1>" });              $.ajax({                 url: ‘wait.php‘,                 cache: false,                 complete: function() {                     // unblock when remote call returns                     $.unblockUI();                 }             });         });          $(‘#no‘).click(function() {             $.unblockUI();             return false;         });      }); </script>  ...  <input id="test" type="submit" value="Show Dialog" />  ...  <div id="question" style="display:none; cursor: default">         <h1>Would you like to contine?.</h1>         <input type="button" id="yes" value="Yes" />         <input type="button" id="no" value="No" /> </div> 
For full-featured modal dialog support, check out Simple Modal by Eric Martin or jqModal by Brice Burgess.选项
BlockUI‘s default options look (exactly) like this:
// override these in your code to change the default behavior and style $.blockUI.defaults = {     // message displayed when blocking (use null for no message)     message:  ‘<h1>Please wait...</h1>‘,      title: null,        // title string; only used when theme == true     draggable: true,    // only used when theme == true (requires jquery-ui.js to be loaded)      theme: false, // set to true to use with jQuery UI themes      // styles for the message when blocking; if you wish to disable     // these and use an external stylesheet then do this in your code:     // $.blockUI.defaults.css = {};     css: {         padding:        0,         margin:         0,         width:          ‘30%‘,         top:            ‘40%‘,         left:           ‘35%‘,         textAlign:      ‘center‘,         color:          ‘#000‘,         border:         ‘3px solid #aaa‘,         backgroundColor:‘#fff‘,         cursor:         ‘wait‘     },      // minimal style set used when themes are used     themedCSS: {         width:  ‘30%‘,         top:    ‘40%‘,         left:   ‘35%‘     },      // styles for the overlay     overlayCSS:  {         backgroundColor: ‘#000‘,         opacity:         0.6,         cursor:          ‘wait‘     },      // style to replace wait cursor before unblocking to correct issue     // of lingering wait cursor     cursorReset: ‘default‘,      // styles applied when using $.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 issues: ‘about:blank‘ fails on HTTPS and javascript:false is s-l-o-w     // (hat tip to Jorge H. N. de Vasconcelos)     iframeSrc: /^https/i.test(window.location.href || ‘‘) ? ‘javascript:false‘ : ‘about:blank‘,      // force usage of iframe in non-IE browsers (handy for blocking applets)     forceIframe: false,      // z-index for the blocking overlay     baseZ: 1000,      // set these to true to have the message automatically centered     centerX: true, // <-- only effects element blocking (page block controlled via css above)     centerY: true,      // allow body element to be stetched in ie6; this makes blocking look better     // on "short" pages.  disable if you wish to prevent changes to the body height     allowBodyStretch: true,      // enable if you want key and mouse events to be disabled for content that is blocked     bindEvents: true,      // be default blockUI will supress tab navigation from leaving blocking content     // (if bindEvents is true)     constrainTabKey: true,      // fadeIn time in millis; set to 0 to disable fadeIn on block     fadeIn:  200,      // fadeOut time in millis; set to 0 to disable fadeOut on unblock     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,      // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)     // no longer needed in 2012     // applyPlatformOpacityRules: true,      // callback method invoked when fadeIn has completed and blocking message is visible     onBlock: null,      // callback method invoked when unblocking has completed; the callback is     // passed the element that has been unblocked (which is the window object for page     // blocks) and the options that were passed to the unblock call:     //   onUnblock(element, options)     onUnblock: null,      // don‘t ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493     quirksmodeOffsetHack: 4,      // class name of the message block     blockMsgClass: ‘blockMsg‘,      // if it is already blocked, then ignore it (don‘t unblock and reblock)     ignoreIfBlocked: false }; 
Changing the blockUI options is simple and can be done in one of two ways:
  1. Globally, by directly overriding the values in the $.blockUI.defaults object
  2. Locally, by passing an options object to the blockUI (or block) function.

Global Overrides

You can change the default options by simply declaring different values for them. For example:
// change message border $.blockUI.defaults.css.border = ‘5px solid red‘;  // make fadeOut effect shorter $.blockUI.defaults.fadeOut = 200; 

Local Overrides

Local overrides are achieved by passing an object to the blockUIunblockUIblock or unblock functions. The exact same options are available to the local options object as are available in the global object. For example:
// change message border $.blockUI({ css: { border: ‘5px solid red‘} });  ...  // make fadeOut effect shorter $.unblockUI({ fadeOut: 200 });  ...  // use a different message $.blockUI({ message: ‘Hold on!‘ });  ...  // use a different message $(‘#myDiv‘).block({ message: ‘Processing...‘ }); 
 插件官网:http://jquery.malsup.com/block其他参考博文:http://bookshadow.com/weblog/2014/09/26/jquery-blockui-js-introduction/
 
时间: 2024-10-12 15:21:24

jQuery遮罩插件 jquery.blockUI.js的相关文章

jQuery遮罩插件jQuery.blockUI.js简介

本文链接:http://bookshadow.com/weblog/2014/09/26/jquery-blockui-js-introduction/

Jquery遮罩插件,想罩哪就罩哪!

原文:Jquery遮罩插件,想罩哪就罩哪! 一  前言 在项目开发时发现没有一个用起来 爽一点的遮罩插件,看起来觉得不难 好吧那就利用空闲时间,自己折腾一个吧,也好把jquery再温习一下, 需要的功能如下 1 可以全屏遮 用于提交数据时 2  局部遮,用于重复提交,只遮提交按钮,此功能当时在CSDN的登录中看到过,当时觉得还不错 3  遮罩上的提示文字可自己配置,因为操作的业务场景不一样,提示的信息肯定也会不一样 4  遮罩图片可配置, 5 信息提示层大小可配置 大致功能就如上几点,然后就是折

Jquery 分页插件 Jquery Pagination

Jquery 分页插件 Jquery Pagination 分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也挺简单明了的,也助于自己写个小插件. 不过我比较懒,一般直接拿着各种插件用,想偷懒的同学们也可以用用看: Jquery Pagination 大家可以去这里查看下演示:http://www.xuetub.com/plugin/jquery/221 使用方法也比较简单: <div id="pag

Jquery加密插件jquery.md5.js

使用jquery.md5.js加密插件可以实现在前端进行MD5加密 下载地址:https://github.com/placemarker/jQuery-MD5 使用方法 //Create (hex-encoded) MD5 hash of a given string value: var md5 = $.md5('value'); //Create (hex-encoded) HMAC-MD5 hash of a given string value and key: var md5 = $

【转载】jquery 滚动条插件jquery.slimscroll.js

转载http://www.w3cways.com/1910.html jquery.slimscroll.js插件是一个支持把内容放在一个盒子里面,固定一个高度,超出的则使用滚动. jquery.slimscroll.js不仅可以定义高度.宽度,还可以定义位置.滚动条大小.尺寸.颜色以及众多参数自定义,非常不错,推荐大家使用. 官网地址:https://github.com/kujian/jQuery-slimScroll CND:http://cdn.bootcss.com/jQuery-sl

jquery树形插件 jquery.dynatree.js 的使用

1,在后台拼字符串产生json,json的格式为:[{title :"xxxx",  key: xerx, ,expand:true/false ,children:[{title:"yyyyy",key:eeee,expand:true}, {title:"zzzzz",key:dfds,expand:true}]}]. 这么嵌套下去,实际使用时可以用StringBuffer这样拼字符的速度快些.expand:true时产生的树是展开的,当为f

jQuery旋转插件jquery.rotate.js 让图片旋转

演示1 直接旋转一个角度 $('#img1').rotate(45); 演示2 鼠标移动效果 $('#img2').rotate({ bind : { mouseover : function(){ $(this).rotate({animateTo: 180}); }, mouseout : function(){ $(this).rotate({animateTo: 0}); } } }); 演示3 不停旋转 var angle = 0; setInterval(function(){ an

分享一款超棒的jQuery旋钮插件 - jQuery knob

转自:http://www.cnblogs.com/gbin1/archive/2012/05/08/2489908.html 在线演示  本地下载 如果你也在寻找一款生成漂亮旋钮(knob)的jQuery插件的话,那么今天我们介绍的jQuery knob肯定是一个不错的选择.它使用canvas帮助我们生成超酷的旋钮特效,你可以使用插件选项或者HTML5的data属性来自定义设置插件属性,方便简捷并且优雅,我相信大家肯定会喜欢这个超酷的jQuery插件,如果你有任何问题活着建议请给我们留言! 主

jquery日期插件jquery.datePicker参数

1.效果图 2.引入JS.CSS文件 jquery-ui.min.css和jquery-ui.min.js文件 Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js,