• bootstrap 模态


    <script type="text/javascript" src="js/jquery-ui-custom.min.js"></script>  //这个js里主要是需要用到jquery.ui.draggable.js,但是这个js需要依赖其他的js,所以我直接上jquery-ui的官网上根据自己的需要生成

    这样子,一个基本的bootstrap模态框就写好了,但是现在的模态框只是水平居中,而且是不能拖拽的,所以还要进行一些处理。

    //设置模态框可移动 这里用到上面引入的jquery-ui-custom.min.js
    $(#id).draggable({   
        handle: ".modal-header",   
        cursor: 'move',   
        refreshPositions: false
    });
                
                
    //模态框居中显示
    function centerModals() {   
        $(#id).each(function(i){  
            var $clone = $(this).clone().css('display', 'block').appendTo('body');
            //设置modal垂直居中
            var top = Math.round(($clone.height() - $clone.find('.modal-content').height()) / 2);   
            top = top > 0 ? top : 0;   
            $(this).find('.modal-content').css("margin-top", top);
            $clone.remove();
           
        });
    }
    
    $(window).on('resize', centerModals);
    

      还要修改bootstrap.css中的一个样式

    .modal-backdrop {
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      background-color: #000;
    }
    

      

    .modal-backdrop {
      position: fixed;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      background-color: #000;
    }
    

      由于我需要用到很多不同的模态框,打开和关闭的时候都需要执行一些动作

    /**
     * 初始化模态窗口
     * @param modalName 模态窗口id
     * @param showBcak show时执行的方法
     * @param hideBcak hide时执行的方法
     */
    function modalInit(modalName,showBcak,hideBcak)
    {
        var modalName = '#' + modalName;
        //设置模态框可移动
        $(modalName).draggable({   
            handle: ".modal-header",   
            cursor: 'move',   
            refreshPositions: false
        });
        
        
        //模态框居中显示
        function centerModals() {   
            $(modalName).each(function(i){  
                var $clone = $(this).clone().css('display', 'block').appendTo('body');
                //设置modal垂直居中
                var top = Math.round(($clone.height() - $clone.find('.modal-content').height()) / 2);   
                top = top > 0 ? top : 0;   
                $(this).find('.modal-content').css("margin-top", top);
                $clone.remove();
               
            });
        }
        //调用show方法时触发
        $(modalName).on('show.bs.modal', function(){
            if (null != showBcak && "" != showBcak) {
                var funcBack = eval(showBcak);
                new funcBack();
            }
            centerModals();
        });
        //调用hide方法时触发
        $(modalName).on('hide.bs.modal', function(){
            if (null != hideBcak && "" != hideBcak)
            {
                var funcBack = eval(hideBcak);
                new funcBack();
            }
            
        });
        $(window).on('resize', centerModals);  
    }
    

      Bootstrap模态框水平垂直居中与增加拖拽功能
    http://www.panshy.com/articles/201509/webdev-2524.html
      Bootstrap 模态框(Modal)插件
    http://www.dnzs.com.cn/w3cschool/bootstrap/bootstrap-modal-plugin.html

    调用

    http://files.cnblogs.com/files/zzd-zxj/model.rar

    1 modalInit("demoModal", null,null);

  • 相关阅读:
    MySQL学习笔记
    为什么使用多态?实现多态的有哪些方式
    C++中派生类使用基类成员的问题
    实现Modbus ASCII多主站应用
    PHP第四天 函数引用传值
    Webpack 快速上手(下)
    Java---23种设计模式(九)------组合模式
    【笔记】Linux就该这么学-第六课第四章
    Node.js HTTPS
    Node.js Smalloc
  • 原文地址:https://www.cnblogs.com/xiangxiong/p/7168799.html
Copyright © 2020-2023  润新知