• 弹出层之2:JQuery.BlockUI


     

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

     

    本文示例下载

     
  • 相关阅读:
    Android Studio 编译不通过,报错“找不到org.apache.http
    Android studio中出现非法字符时的部分解决方法
    eclipse项目导入到Android Studio Plugin with id 'android-library' not found
    将Eclipse代码导入到AndroidStudio的两种方式
    eclipse项目迁移到android studio(图文最新版)
    Android studio插件安装
    ViewPager PagerAdapter不更新视图
    Android:可扩展伸缩listview
    Android的崩溃错误报告之ACRA
    Android数据库ORMlite框架04
  • 原文地址:https://www.cnblogs.com/aiwz/p/6153960.html
Copyright © 2020-2023  润新知