bootstrap弹出的模态框水平垂直居中的实现

学习javascript从入门到放弃!,这是第一篇随笔,经验不足,如有不当之处,还望指出。好了废话不多说直接切入正题吧

1.bootstrap默认的model写法:

//触发模态框的button
<button data-toggle="modal" data-target="#myModal"type="button"
class="btn btn-default" >button
</button>
//弹出的模态框内容
<div id="myModal" class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <div class="modal-header">                                                                                                                                   //关闭模态框
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true"><img src="/static/img/modal-close.png"/></span>
          </button>
                <h4 class="modal-title f24" id="mySmallModalLabel">支付</h4>
            </div>
            <div class="modal-body">

            </div>
        </div>
    </div>
</div>

//通过javascript调用,只需一行 JavaScript 代码,即可通过元素的 id myModal 调用模态框:

$(‘#myModal‘).modal();

2.实现水平垂直居中

使用modal弹出事件方法。bootsrtap的模态框提供了一些事件用于监听并执行自己的代码。我们先看一下bootstrap提供的了哪些事件及基本用法;

从上面的图片中可以了解到bootstrap提供的这些事件应用的条件。我们的需求是:在触发modal显示的时候,modal出现在页面的水平垂直居中位置,那么show.bs.modal恰恰符合我们的需求。so,我们可以这样写

$(‘#myModal‘).on(‘show.bs.modal‘,function(e){
    //设置模态框的水平垂直方向的位置;
});

里面的function(e){};可以拿出在单独定义一个function,这里命名为centerModals,

function centerModals() {     $(‘#myModal‘).each(function(i) {
    var $clone = $(this).clone().css(‘display‘,‘block‘).appendTo(‘body‘);
    var top = Math.round(($clone.height() - $clone.find(‘.modal-content‘).height()) / 2);
    top = top > 0 ? top : 0;
    $clone.remove();
    $(this).find(‘.modal-content‘).css("margin-top", top);
  });
};    

最后在show.bs.modal事件中调用centerModals函数:

$(‘#myModal‘).on(‘show.bs.modal‘, centerModals);
//禁用空白处点击关闭
$(‘#myModal‘).modal({
backdrop: ‘static‘,
keyboard: false,//禁止键盘
show:false
});
//页面大小变化是仍然保证模态框水平垂直居中
$(window).on(‘resize‘, centerModals);

到此大功告成!,希望对帮助到大家。

如有不当之处,还望赐教。



共勉:  

  人生的路上没有地图,我们一路走一路在寻找,我们每个人心中都有梦想,但没有人知道抵达目的地的正确线路,所以我们在黑夜中摸索前行。

  人生的路上没有地图,我们一路走一路被辜负,每一条寻梦的路上都充满荆棘和陷阱,每一个奋斗的人生都充满了挫折和辜负。但即使被打倒,也要站起来,掸掸身上的土,继续前行;即使被辜负,也要笑一笑,把它抛之脑后,接着上路。

  因为人生没有地图,只要你勇敢走下去,就永远不会迷路!

时间: 2024-11-07 00:19:04

bootstrap弹出的模态框水平垂直居中的实现的相关文章

Boostrap 模态框 水平垂直居中问题

var editorB = new UE.ui.Editor({ initialFrameHeight: 350, initialFrameWidth: 600 }); editorA.render("ScienceContentA"); editorB.render("ScienceContentB"); $(function () { //$("#AddUpdateModalA").modal("hide").css({

Bootstrap(v3.2.0)模态框(modal)垂直居中

Bootstrap(v3.2.0)模态框(modal)垂直居中方法: 在bootstrap.js文件900行后面添加如下代码,便可以实现垂直居中. that.$element.children().eq(0).css("position", "absolute").css({ "margin":"0px", "top": function () { return (that.$element.height(

用Bootstrap框架弹出iframe页面 在弹出的模态框中载人iframe页面

HTML代码: <div class="modal fade" id="NoPermissionModal"> <div class="modal-dialog" > <div class="modal-content"> <div class="modal-header"> <%-- <button type="button"

Bootstrap 弹出框(Popover)插件

Bootstrap 弹出框(Popover)插件与Bootstrap 提示工具(Tooltip)插件类似,提供了一个扩展的视图,用户只需要把鼠标指针悬停到元素上面即可.弹出框的内容完全由Bootstrap Data API来填充. 用法 弹出框插件根据需要生成内容或标记,默认情况下把弹出框(Popover)放在它们触发元素的后面,您可以有两种方法来启动弹出框 1.通过data属性:如需要添加一个弹出框,只需要向锚或按钮添加一个data-toggle="popover"即可.锚的 tit

bootstrap 弹出框点击其他区域时弹出框不消失选项设置

默认情况下,bootstrap 弹出框点击其他区域时,弹出框会自动关闭,在很多时候,我们可能会希望达到和原生弹出框一样的效果,避免不小心点击其他区域时弹框自动隐藏,尤其是对于一些复杂的表单,重复填写可能会带来很不好的体验效果,所以,我们会希望不会发生这种情况,事实上bootstrap dialog提供了大量的选项可以设置各种dialog的行为和效果.如下所示: <div class="modal fade" id="myModal" tabindex=&quo

第二百四十六节,Bootstrap弹出框和警告框插件

Bootstrap弹出框和警告框插件 学习要点: 1.弹出框 2.警告框 本节课我们主要学习一下 Bootstrap 中的弹出框和警告框插件. 一.弹出框 弹出框即点击一个元素弹出一个包含标题和内容的容器. 基本用法 注意:必须在js结合popover()方法使用 data-toggle="popover"弹出框事件绑定,写在触发弹出框的元素里,执行弹出框事件点击弹出或隐藏(Bootstrap)title=""设置弹出框标题,写在弹出框元素里,(Bootstrap)

bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题

答案来自老外http://stackoverflow.com/questions/14795035/twitter-bootstrap-modal-blocks-text-input-field $('#myModal').on('shown', function() { $(document).off('focusin.modal'); }); 这个是国内同学的解决方法: http://www.oschina.net/question/226830_143869 //显示modal $('#m

使用bootstrap 弹出效果演示

前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的系统有一个友好的弹出提示框,自然能给用户很好的页面体验.前面几章介绍了bootstrap的几个常用组件,这章来看看bootstrap里面弹出框和提示框的处理.总的来说,弹出提示主要分为三种:弹出框.确定取消提示框.信息提示框.本篇就结合这三种类型分别来介绍下它们的使用. 一.Bootstrap弹出框

Bootstrap历练实例:模态框(Modal)插件

模态框(Modal)是覆盖在父窗体上的子窗体.通常,其目的是显示来自一个单独源的内容,可以在不离开父窗体的情况下进行一些交互,子窗体提供一些交互或信息. <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Bootstrap历练实例:模态框(Modal)插