jQuery BlockUI 插件(遮罩层)

部分效果


概述

当使用AJAX时,jQuery BlockUI插件可以模拟同步行为,并且不会锁定浏览器。一旦被激活,它便会防止页面上(或页面的一部分)用户的操作,直到被停用。BlockUI给DOM带来外观和阻止用户交互行为上的变化。

用法很简单;弹出遮罩层:

$.blockUI();
带自定义信息的遮罩层:

$.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' });
带自定义样式的遮罩层:

$.blockUI({ css: { backgroundColor: '#f00', color: '#fff'} });
解除遮罩层:

$.unblockUI();
如果您想使用默认设置,并有阻止所有Ajax请求的用户界面,这很简单:

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

页面遮罩层

代码如下:

<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> 

元素遮罩层

代码如下:

<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> 

简单的模态对话框示例

代码如下:

<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>

注:本文对原文进行粗略翻译与精简,不足之处还请见谅。

原文传送门:http://malsup.com/jquery/block/

Demos链接地址:http://malsup.com/jquery/block/#demos

Options链接地址:http://malsup.com/jquery/block/#options

示例代码下载地址:http://download.csdn.net/detail/evangel_z/9487761

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值