当我们在前端通过ajax调用后台的时候,由于数据量各有不同,可能会造成长时间的等待,但此时等待的用户仍然可以操作界面上的其他元素,例如重新点击一个按钮,这种情况是不被允许的.或者有时候需要执行某些操作后,对用户界面进行锁屏,经过一段时间后重新恢复,此时当然会想到在页面上增加一层div来进行遮挡,但jQuery的BlockUI已经帮你完成了这样的工作,我们可以通过简单的js代码来达到各种各样的效果.jQuery BlockUI使用: 通过以下地址可以访问BlockUI的官网,上面有众多的Demo可供参考http://www.malsup.com/jquery/block/
首先当然是要引入blockUI,以下Demo就使用1.6
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="jquery-block-ui.js"></script>
11111111111111111111111111111111111
- $(function(){
- //当加载完后立刻锁屏,并显示hello world为锁屏信息
- //若然只想锁屏但不显示任何信息,可以设置为null
- $.blockUI({
- message:"hello world";
- })
- })
22222222222222222222222222222222222222222222222222
- $(function(){
- //可以为BlockUI增加样式
- $.blockUI({ css : {
- border : "none",
- padding : "15px",
- backgroundColor : "#000",
- "-webkit-border-radius" : "10px",
- "-moz-border-radius" : "10px",
- opacity : .5,
- color : "#fff"
- }})
- })
33333333333333333333333333333333333333333333333333333333
- $(function(){
- /*
- * 可直接获取id为loginForm的表单来进行弹出,
- * 实现类似popup的功能
- */
- $.blockUI({
- message : $("#loginForm")
- })
- //2秒后关闭遮挡
- setTimeout($.unblockUI,2000);
- })
4444444444444444444444444444444444444444444444444444
- $(function(){
- $.blockUI();
- setTimeout(function(){
- $.unblockUI({
- //执行解除锁屏的回调函数
- onUnblock : function(){
- alert("onUnblockUI");
- }
- })
- },2000);
- });
5555555555555555555555555555555555555555555555555555555
- $(function(){
- $.blockUI({
- //当锁屏后点击其他地方触发的事件,这里触发为解除锁屏
- onOverlayClick : $.unblockUI
- });
- });
66666666666666666666666666666666666666666666666666666666
- $(function(){
- //设置全局ajax开始时锁屏
- $(document).ajaxStart(function () {
- blocks();
- });
- //设置全局ajax结束时解锁
- $(document).ajaxStop(function () {
- $.unblockUI();
- });
- });
时间: 2024-11-05 13:40:53