zoukankan      html  css  js  c++  java
  • jQuery UI dialog

    初始化参数

    对于 dialog 来说,首先需要进行初始化,在调用 dialog 函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框。

    没有参数,表示按照默认的设置初始化对话框,在当前最新版本的 jQuery UI 1.8.9 中, dialog 支持下列属性。

    autoOpen   初始化之后,是否立即显示对话框,默认为 true

    modal        是否模式对话框,默认为 false

    closeOnEscape   当用户按 Esc 键之后,是否应该关闭对话框,默认为 true

    draggable  是否允许拖动,默认为 true

    resizable    是否可以调整对话框的大小,默认为 true

    title           对话框的标题,可以是 html 串,例如一个超级链接。

    position     用来设置对话框的位置,有三种设置方法

         1.  一个字符串,允许的值为  'center', 'left', 'right', 'top', 'bottom'.  此属性的默认值即为 'center',表示对话框居中。
         2.  一个数组,包含两个以像素为单位的位置,例如, 

    var dialogOpts = {
        position: [100, 100]
    };

         3. 一个字符串组成的数组,例如, ['right','top'],表示对话框将会位于窗口的右上角。

    var dialogOpts = {
        position: ["left", "bottom"]
    };

    eg:

    $("#dialog").dialog({
        bgiframe: true,
        resizable: false,
        height:140,
        modal: true,
        overlay: {
            backgroundColor: '#000',
            opacity: 0.5
        },
        buttons: {
            'Delete all items in recycle bin': function() {
                $(this).dialog('close');
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        }
    });

    close     关闭对话框

    $(this).dialog('close');
                $oneCalendar.dialog({
                    title: '测试标题 ',
                    autoOpen: true,
                    modal: true,
                     700,
                    height: 250,
                    dialogClass: "my-dialog"
                });
    
     $("#one").dialog().dialog("close");
    
        //隐藏某dialog
        function HideMoreMonthDialog() {
            $("#divMore").dialog("close");
            $("#divMore").dialog("destroy");
        }
    
        //初始化dialog
        function initMoreDrag() {
            $("#divMore").hide();
            $("#divMore").dialog({
                autoOpen: true,
                height: 700,
                 850,
                modal: true,
                title: "详情",
                close: function (event, ui) {             
                    IsShowTwelveMonth = false;
                    hideDivClickAndDivDayCount();
                    $("#divMore").dialog("destroy");
                }
            });
        }
    
            $("#dvEditStaffDaily").dialog({
                autoOpen: false,
                 1100,
                height: 650,
                dialogClass: "my-dialog",
                resizable: false,
                position: "center",
                title:  "**详情"),
                close:function()
                {
                    if (flagclicked == true) {
                        SearchStaffDailyList2();
                        flagclicked = false;
                    }
                    $("#dvEditStaffDaily").html("<span style="color:red">数据正在加载,请稍侯……</span>");
                }
            });

    封装一个弹出层方法

        <div id="ps_alert">
            <p id="showP">
            </p>
        </div>
    /*
    * 提供ps_alert和ps_confirm两种dialog
    * 参数:
    *  调用时参数情况:
        ps_alert("test",function1,function2,setting);
        ps_alert("test");
        ps_alert("test",function1);
        ps_alert("test",function1,function2);
        ps_alert("test",function1,null,setting);
        ps_alert("test",null,function2,setting);
        ps_alert("test",null,null,setting);
    *  1 text:dialog显示的内容
    *  2 psCallbackYes:yes按钮的回调函数
    *  3 psCallbackNo:no按钮的回调函数
    *  4 setting:设置dialog的属性
                title:标题(目前不显示标题)
                text:显示内容:若参数text没有值,则显示此值
                errorType:错误图标
                width:宽度
                height:高度
                buttons:1 ps_alertLanguages中的第一个  2 ps_alertLanguages中的第二  A ps_alertLanguages中全部显示 
    * 公共变量:默认的语言ps_alertLanguages={buttonYes:"Yes",buttonNO:"No"}
    */
    
    //默认的语言buttonText
    var ps_alertLanguages = {
        buttonYes: "Yes",
        buttonNo: "No"
    };
    
    //alert 
    /*
    method({title:"",contents:"",errorType:"",0,height:0,buttons:""})
    */
    ps_alert = function (text, psCallbackYes, psCallbackNo, setting) {
        ps_return = "";
        if (isNaN(setting) && setting != undefined) {
            ps_alert1(text, psCallbackYes, psCallbackNo, { title: setting.title,
                contents: setting.contents,
                errorType: setting.errorType,
                 setting.width,
                height: setting.height,
                buttons: "1"
            });
        } else {
            ps_alert1(text, psCallbackYes, psCallbackNo, { buttons: "1" });
        }
    }
    
    //confirm 
    ps_confirm = function (text, psCallbackYes, psCallbackNo, setting) {
        ps_return = "";
        if (isNaN(setting) && setting != undefined) {
            ps_alert1(text, psCallbackYes, psCallbackNo, { title: setting.title,
                contents: setting.contents,
                errorType: setting.errorType,
                 setting.width,
                height: setting.height,
                buttons: "A"
            });
        } else {
           ps_alert1(text, psCallbackYes, psCallbackNo, { buttons: "A" });
        }
    }
    
    //method({title:"",text:"",errorType:"",0,height:0})
    ps_alert1 = function (text, psCallbackYes, psCallbackNo, setting) {
    
        //alert and confirm 的返回值
        var ps_return;
    
        //default parameter
        var defaultSetting = {
            title: "",
            text: "",
            errorType: "",
             300,
            height: 200,
            buttons: ""
        };
        //init
        $("#ps_alert").dialog({
            dialogClass: "no-close",
            dialogClass: "no-title",
            modal: true,
            autoOpen: false,
            draggable: false,
            resizable: false,
            closeOnEscape: false
        });
    
        //默认回调函数Yes
        if (!isNaN(psCallbackYes) || psCallbackYes == undefined) {
            psCallbackYes = psCallbackDefaultYes;
        }
    
        //默认回调函数No
        if (!isNaN(psCallbackNo) || psCallbackNo == undefined) {
            psCallbackNo = psCallbackDefaultNo;
        }
    
        /* 
        * load div ps_alert 
        */
        $.extend(defaultSetting, setting);
    
        //获得对象变量
        var dialogE = $("#ps_alert");
        var isOpen = dialogE.dialog("isOpen");
    
        //清空dialog的text
        $("#showP").text("");
    
        //deal the buttons
        var buttons;
        if (defaultSetting.buttons == "1") {
            buttons = [{
                text: ps_alertLanguages.buttonYes,
                click: function () {
                    ps_return = ps_alertLanguages.buttonYes;
                    $("#ps_alert").dialog("close"); //关闭ps_alert
                    $("#ps_alert").dialog("destroy"); //销毁ps_alert
                    $("#showP").hide();
                    if (psCallbackYes) {
                        psCallbackYes(ps_return); //执行回调函数
                    }
                }
            }];
        } else if (defaultSetting.buttons == "2") {
            buttons = [{
                text: ps_alertLanguages.buttonNo,
                click: function () {
                    ps_return = ps_alertLanguages.buttonNo;
                    $("#ps_alert").dialog("close"); //关闭ps_alert
                    $("#ps_alert").dialog("destroy"); //销毁ps_alert
                    $("#showP").hide();
                    if (psCallbackNo) {
                        psCallbackNo(ps_return); //执行回调函数
                    }
                }
            }];
        } else if (defaultSetting.buttons == "A") {
            buttons = [{
                text: ps_alertLanguages.buttonYes,
                click: function () {
                    ps_return = ps_alertLanguages.buttonYes;
                    $("#ps_alert").dialog("close"); //关闭ps_alert
                    $("#ps_alert").dialog("destroy"); //销毁ps_alert
                    $("#showP").hide();
                    if (psCallbackYes) {
                        psCallbackYes(ps_return); //执行回调函数
                    }
                }
            }, {
                text: ps_alertLanguages.buttonNo,
                click: function () {
                    ps_return = ps_alertLanguages.buttonNo;
                    $("#ps_alert").dialog("close"); //关闭ps_alert
                    $("#ps_alert").dialog("destroy"); //销毁ps_alert
                    $("#showP").hide();
                    if (psCallbackNo) {
                        psCallbackNo(ps_return); //执行回调函数
                    }
                }
            }];
        }
    
        if (!isOpen) {//如果关闭
    
            //加载新buttons
            $("#ps_alert").dialog({
                buttons: buttons
            });
    
            // dialogE.dialog("dialogClass", "no-title");
    
            //修改title
            dialogE.dialog("option", "title", defaultSetting.title);
    
            //add icon
            var Indexs = "<span class='" + defaultSetting.errorType + "' style='float: left; margin: 0 7px 50px 0;'></span>";
            $("#showP").append(Indexs);
    
            //显示text
            if (isNaN(text))
                $("#showP").append(text);
            else
                $("#showP").append(defaultSetting.contents);
    
            //打开
            $("#showP").show();
            dialogE.dialog("open");
        }
    }
    
    
    //默认回调函数1
    psCallbackDefaultYes = function () {
         
    }
    
    //默认回调函数1
    psCallbackDefaultNo = function () {
        
    }
  • 相关阅读:
    C#枚举扩展方法,获取枚举值的描述值以及获取一个枚举类下面所有的元素
    C#对IQueryable<T>、IEnumerable<T>的扩展方法
    C#常用处理数据类型转换、数据源转换、数制转换、编码转换相关的扩展
    C#常用8种排序算法实现以及原理简介
    身份证号合法性验证,支持15位和18位身份证号,支持地址编码、出生日期、校验位验证
    C#检验参数合法性公用方法
    MVC中得到成员元数据的Description特性描述信息公用方法
    把对象类型转换成指定的类型帮助类方法
    C#操作图片帮助类
    C#执行Dos命令公用方法
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5331429.html
Copyright © 2011-2022 走看看