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();

            });

            $('#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: $('#domMessage') });

            });

            $('#btnClose').click(function() {

                //关闭弹出层

                $.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/,这个站还有一些其它插件也值得看看。

本文示例下载

 

弹出层之2:JQuery.BlockUI的更多相关文章

  1. 经典弹出层Colorbox - a jQuery lightbox

    Colorbox - a jQuery lightbox A lightweight customizable lightbox plugin for jQuery Fork me on GitHub ...

  2. Layer组件多个iframe弹出层打开与关闭及参数传递

    一.Layer简介 Layer是一款近年来备受青睐的web弹层组件,基于jquery,易用.实用,兼容包括IE6在内的所有主流浏览器,拥有丰富强大的可自定义的功能. Layer官网地址:http:// ...

  3. jquery.blockUI.2.31.js 弹出层项目介绍

    {insert_scripts files='user.js'} <style type="text/css"> #float_login{border:1px sol ...

  4. Jquery 点击图片在弹出层显示大图

    http://blog.csdn.net/wongwaidah/article/details/28432427(案例链接出处,本人只是转载收藏) <html> <head> ...

  5. jquery制作弹出层带遮罩效果,点击阴影部分层消失

    jquery制作弹出层带遮罩效果,点击阴影部分层消失. 整体还是比较简单的. HTML代码很简单 <a href="#" class="big-link" ...

  6. jQuery弹出层插件popbox

    都什么年代了,还自己写弹出层插件!是的,①自己写的自己好控制②可定制性高③兼容低版本IE 本插件有以下特性: 样式分离,可定制,纯净无图片 可自定义按钮及按钮的样式.点击事件 可指定选择器选择页面元素 ...

  7. [转]jquery Fancybox丰富的弹出层效果

    本文转自:http://www.helloweba.com/view-blog-65.html Fancybox是一款优秀的jquery插件,它能够展示丰富的弹出层效果.前面我们有文章介绍了facyb ...

  8. jQuery弹出层始终垂直居中相对于屏幕或当前窗口

    把弹出层的位置设为fixed,设置top:50%,然后获取当前元素的整体的高度height,用获取的高度height/2,设置margin-top:-height/2.即可把当前的弹出层始终垂直居中于 ...

  9. jquery 简单弹出层

    预定义html代码:没有 所有代码通过js生成和移除. 预定义css .z-popup-overlay{ width:100%; min-height: 100%; height:800px; pos ...

随机推荐

  1. vue中简单的小插曲

    我们现在来学习一下vue中一些简单的小东西: 首先我们必须要引入vue.js文件哦! 1.有关文本框里的checkbox js代码: new Vue({ el:"#app", da ...

  2. POJ-1122 FDNY to the Rescue!---Dijkstra+反向建图

    题目链接: https://vjudge.net/problem/POJ-1122 题目大意: 给出矩阵,矩阵中每个元素tij表示从第i个交叉路口到第j个交叉路口所需时间,若tij为-1则表示两交叉路 ...

  3. 还原Vue.js的data内的数组和对象

    最近学习Vue.js发现其为了实现对data内的数组和对象进行双向绑定,将数组和对象进行了封装. 如下的对象 todos: [     {         id: 1,         title: ...

  4. Jenkins: Can't connect to Docker daemon解决办法

    Jenkins安装后首次使用报错: Jenkins: Can't connect to Docker daemon 解决办法: 参照StackOverflow 添加jenkins用户到dockergr ...

  5. mvc4.0 @Styles.Render(转)

    1.@Styles.Render 在页面上可以用@Styles.Render("~/Content/css") 来加载css 首先要在App_Start 里面BundleConfi ...

  6. CARVARS 圆形进度条

    先看下效果 这是两个不同进度的进度条,由于carvas用找的只是id所以下面想多个进度条必须要根据class来找到id,所以我封装了一个进度条的函数,下面的代码直接复制粘贴就可以了 <!DOCT ...

  7. [LeetCode] Student Attendance Record II 学生出勤记录之二

    Given a positive integer n, return the number of all possible attendance records with length n, whic ...

  8. hive中No space left on device问题或者Java HotSpot(TM)64-Bit Server VM warning:Insufficient space for shared memory

  9. ●POJ poj 2112 Optimal Milking

    ●题目大意: 给出K个挤奶机器(编号1~K),C头牛(编号K+1~K+C)(机器和牛各在不同的地方)和每台机器最多可M头牛挤奶: 然后以邻接矩阵告诉各点间的直接距离(不同的地方间若直接距离等于0,则表 ...

  10. [BZOJ]1085 骑士精神(SCOI2005)

    这种鲜明的玄学风格很明显就是十几年前的题目. Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐 ...