jquery 


        当我们在前端通过ajax调用后台的时候,由于数据量各有不同,可能会造成长时间的等待,但此时等待的用户仍然可以操作界面上的其他元素,例如重新点击一个按钮,这种情况是不被允许的.或者有时候需要执行某些操作后,对用户界面进行锁屏,经过一段时间后重新恢复,此时当然会想到在页面上增加一层div来进行遮挡,但jQuery的BlockUI已经帮你完成了这样的工作,我们可以通过简单的js代码来达到各种各样的效果 

jQuery BlockUI使用: 
    通过以下地址可以访问BlockUI的官网,由于天朝长城的原因,有时需要VPN才能正常访问,上面有众多的Demo可供参考http://www.malsup.com/jquery/block/ 


     首先当然是要引入blockUI,由于笔者项目使用jQuery1.6,以下Demo就使用1.6 

 


jquery 堵塞显示 jquery block_jquery

1. <script type="text/javascript" src="jquery-1.6.1.min.js"></script>  
2. <script type="text/javascript" src="jquery-block-ui.js"></script>


jquery 堵塞显示 jquery block_jquery

1. $(function(){  
2. //当加载完后立刻锁屏,并显示hello world为锁屏信息
3. //若然只想锁屏但不显示任何信息,可以设置为null
4.     $.blockUI({  
5. "hello world";  
6.     })  
7. })


jquery 堵塞显示 jquery block_jquery


1. $(function(){    
2. //可以为BlockUI增加样式  
3.         $.blockUI({ css : {  
4. "none",    
5. "15px",    
6. "#000",    
7. "-webkit-border-radius" : "10px",    
8. "-moz-border-radius" : "10px",    
9.             opacity : .5,    
10. "#fff"
11.         }})    
12.     })

jquery 堵塞显示 jquery block_jquery


1. $(function(){  
2. /*
3.      * 可直接获取id为loginForm的表单来进行弹出,
4.      * 实现类似popup的功能
5.      */
6.     $.blockUI({  
7. "#loginForm")  
8.     })  
9. //2秒后关闭遮挡
10.     setTimeout($.unblockUI,2000);  
11. })


 


jquery 堵塞显示 jquery block_jquery

1. $(function(){  
2.         $.blockUI();  
3.           
4. function(){  
5.             $.unblockUI({  
6. //执行解除锁屏的回调函数
7. function(){  
8. "onUnblockUI");  
9.                 }  
10.             })  
11.         },2000);  
12.     });


jquery 堵塞显示 jquery block_jquery


1. $(function(){  
2.         $.blockUI({  
3. //当锁屏后点击其他地方触发的事件,这里触发为解除锁屏
4.             onOverlayClick : $.unblockUI  
5.         });  
6.     });

 


jquery 堵塞显示 jquery block_jquery


1. $(function(){  
2. //设置全局ajax开始时锁屏
3. function
4.             blocks();  
5.         });  
6.           
7. //设置全局ajax结束时解锁
8. function
9.             $.unblockUI();  
10.         });  
11.     });




总结: 

    使用BlockUI只需要编写少量代码就能实现轻松方便的锁屏和解锁,还可以设置自定义的样式去控制BlcokUI样式的显示,作为jQueryUI的小工具,极其易学和使用方便