• jquery实现自定义弹出框


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <script src="../js/jquery-1.8.3.min.js" type="text/javascript"></script>
    <script src="../js/bootstrap-typeahead.js" type="text/javascript"></script>
    <link href="../css/bootstrap.min.css" rel="stylesheet"/>
    <script src="../js/bootstrap.min.js" type="text/javascript"></script>
    <script src="../js/bootstrap-select.js" type="text/javascript"></script>
    <link href="../css/bootstrap-select.min.css" rel="stylesheet"/>
    
    <script type="text/javascript">
        /*
         用途描述:自定义的消息提示框和消息确认框,采用jquery的闭包方法实现,但必须依赖
         与jQuery,否则没有效果。
         使用说明:
         alert框请调用:zdalert(title,top,width, message, function(ret))
         confirm框请调用:zdconfirm(title,top,width, message, function(ret))
         方法参数说明:
         title:弹出框的显示标题;
         top:弹出框位于当前窗体的高度,请填写整数值,使用的分数形式(_height - boxHeight) / top
         width:弹出框的宽度,请填写px值。
         message:弹出框显示的内容。
         function:回调函数,需要执行的内容方法,参数ret有一个,为ture和false值*/
    
    
        (function($) {
    //声明闭包方法
            $.alerts = {
                alert: function(title,top,width, message, callback) {
                    if( title == null ) title = 'Alert';
                    $.alerts._show(title,top,width, message, null, 'alert', function() {
                        if( callback ) callback(result);
                    });
                },
    
                confirm: function(title, top,width,message, callback) {
                    if( title == null ) title = 'Confirm';
                    $.alerts._show(title, top,width,message, null, 'confirm', function(result) {
                        if( callback ) callback(result);
                    });
                },
    
    
                _show: function(title,top,width,msg, value, type, callback) {
    
                    var _html = "";
    
                    _html += '<div id="mb_box"></div><div id="mb_con"><span id="mb_tit">' + title + '</span>';
                    _html += '<div id="mb_msg">' + msg + '</div><div id="mb_btnbox">';
                    if (type == "alert") {
                        _html += '<input id="mb_btn_ok" type="button" value="确定" />';
                    }
                    if (type == "confirm") {
                        _html += '<input id="mb_btn_ok" type="button" value="确定" />';
                        _html += '<input id="mb_btn_no" type="button" value="取消" />';
                    }
                    _html += '</div></div>';
    
                    //必须先将_html添加到body,再设置Css样式
                    $("body").append(_html); GenerateCss(top,width);
                    //判断是确认框还是提示框
                    switch( type ) {
                        case 'alert':
    
                            $("#mb_btn_ok").click( function() {
                                $.alerts._hide();
                                callback(true);
                            });
                            $("#mb_btn_ok").focus().keypress( function(e) {
                                if( e.keyCode == 13 || e.keyCode == 27 ) $("#mb_btn_ok").trigger('click');
                            });
                            break;
                        case 'confirm':
    
                            $("#mb_btn_ok").click( function() {
                                $.alerts._hide();
                                if( callback ) callback(true);
                            });
                            $("#mb_btn_no").click( function() {
                                $.alerts._hide();
                                if( callback ) callback(false);
                            });
                            $("#mb_btn_no").focus();
                            //键盘的按键快捷键
                            $("#mb_btn_ok, #mb_btn_no").keypress( function(e) {
                                //enter键
                                if( e.keyCode == 13 ) {$("#mb_btn_ok").trigger('click');}
                                //esc键
                                if( e.keyCode == 27 ){ $("#mb_btn_no").trigger('click');}
                            });
                            break;
    
    
                    }
                },
                _hide: function() {
                    $("#mb_box,#mb_con").remove();
                }
            }
            // 显示提示框,top,top窗体位置当前窗口的高低的百分比,必须填写整数;width窗体显示的宽度。
            zdalert = function(title,top,width, message, callback) {
                $.alerts.alert(title,top,width, message, callback);
            }
            //显示确认框,top,top窗体位置当前窗口的高低的百分比,必须填写整数;width窗体显示的宽度。
            zdconfirm = function(title,top,width, message, callback) {
                $.alerts.confirm(title,top,width, message, callback);
            };
    
    
    
    
            //生成Css
            var GenerateCss = function (top,width) {
    
                $("#mb_box").css({  '100%', height: '100%', zIndex: '99999', position: 'fixed',
                    filter: 'Alpha(opacity=60)', backgroundColor: 'black', top: '0', left: '0', opacity: '0.6'
                });
    
                /*$("#mb_con").css({ zIndex: '999999',  '350px', position: 'fixed',
                 backgroundColor: 'White', borderRadius: '15px'
                 });*/
                //去掉边框的圆
                $("#mb_con").css({ zIndex: '999999', width, position: 'fixed',
                    backgroundColor: 'White'
                });
    
                $("#mb_tit").css({ display: 'block', fontSize: '14px', color: 'white', padding: '10px 15px',
                    backgroundColor: '#31B0D5', borderRadius: '0 0 0 0',
                    borderBottom: '3px solid #999', fontWeight: 'bold'
                });
    
                $("#mb_msg").css({ padding: '20px', lineHeight: '20px',
                    borderBottom: '1px dashed #DDD', fontSize: '16px',backgroundColor:'#FCFCFC'
                });
    
                $("#mb_ico").css({ display: 'block', position: 'absolute', right: '10px', top: '9px',
                    border: '1px solid Gray',  '18px', height: '18px', textAlign: 'center',
                    lineHeight: '16px', cursor: 'pointer', borderRadius: '12px', fontFamily: '微软雅黑'
                });
    
                $("#mb_btnbox").css({ margin: '15px 0 10px 0', textAlign: 'center' });
                $("#mb_btn_ok,#mb_btn_no").css({  '85px', height: '30px', color: 'white', border: 'none' });
                $("#mb_btn_ok").css({ backgroundColor: '#168bbb' });
                $("#mb_btn_no").css({ backgroundColor: '#168bbb', marginLeft: '20px' });
    
    
                //右上角关闭按钮hover样式
                $("#mb_ico").hover(function () {
                    $(this).css({ backgroundColor: 'Red', color: 'White' });
                }, function () {
                    $(this).css({ backgroundColor: '#DDD', color: 'black' });
                });
    
                var _widht = document.documentElement.clientWidth; //屏幕宽
                var _height = document.documentElement.clientHeight; //屏幕高
    
                var boxWidth = $("#mb_con").width();
                var boxHeight = $("#mb_con").height();
    
                //让提示框居中
                $("#mb_con").css({ top: (_height - boxHeight) / top + "px", left: (_widht - boxWidth) / 2 + "px" });
            }
    
    
        })(jQuery);
    </script>
    
    <body>
    <input id="add" type="button" value="添加" />
    <input id="update" type="button" value="修改" />
    
    <script type="text/javascript">
    
        $("#add").bind("click", function () {
            // $.MsgBox.Alert("消息", "哈哈,添加成功!");
    
            zdalert('系统提示',3,"350px",'请输入正确数值',function(){
    
                //要回调的方法
                window.location.href="http://www.baidu.com"});
    
        });
    
    
        //也可以传方法名 test
        $("#update").bind("click", function () {
    
    
            // $.MsgBox.Confirm("温馨提示", "确定要进行修改吗?", test);
    
            zdconfirm('系统确认框',6,"350px",'你确认提交该条数据吗',function(r){
                if(r)
                {
                    //...点确定之后执行的内容
    
                    window.location.href="http://www.baidu.com"
                }
            });
    
    
        });
    
    
    </script>
    
    </body>
    </html>
  • 相关阅读:
    virtualbox结合nat和host-only设置固定ip的环境
    [zebra源码]流控设计
    [zebra源码]JdbcFilter过滤器和SPI扩展
    [zebra源码]如果数据库连接建立失败会怎样
    [zebra源码]insert后获取自增值的处理
    [zebra源码]GroupDataSource读库的负载均衡
    [zebra源码]不带分片键的sql会怎么执行?
    [zebra源码]如果定位到多个分库或分表怎么执行的?
    自定义类型hash
    spark on dataworks
  • 原文地址:https://www.cnblogs.com/gynbk/p/7363834.html
Copyright © 2020-2023  润新知