【问题标题】:How to make modal dialog open at page load in bootstrap如何在引导程序中的页面加载时打开模式对话框
【发布时间】:2014-01-19 13:32:07
【问题描述】:

在 Bootstrap 中使用 javascript 显示模态对话框很容易。

但是如何在页面加载时打开模式而不需要 document.ready 函数或主体 onload 函数?

我需要加载一个页面并打开模式。 页面加载时我不想要延迟或过渡效果。 我希望在启动时打开模式。

我看了一下modal.js,尝试在body上添加class="modal-open",没有效果。

<div class="modal in" id="journalModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title" id="myModalLabel">modal title</h4>
      </div>
      <div class="modal-body">
         body
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

有可能吗? 怎么办?

【问题讨论】:

标签: javascript twitter-bootstrap


【解决方案1】:

当模式变得可见时,Bootstrap 将 .in 类添加到它的容器中。因此,您可以在 CSS 中添加如下规则,并将相同的类添加到模态 - 您希望在页面加载时可见。

CSS

.modal.in {
   display:block;
}

HTML

<div class="modal in">visible on page load.</div>

但这些不会带来模态背景。所以你必须把它们也放在页面底部:

<div class="modal-backdrop fade in"></div>

【讨论】:

  • 像魅力一样工作!我只需要删除淡入淡出类即可使模态背景不完全变暗。 &lt;div class="modal-backdrop in"&gt;&lt;/div&gt;
【解决方案2】:

看看这个来自Andres IlichLaunch Bootstrap Modal on page load

JS

<script type="text/javascript">    
    $(window).load(function(){
        $('#myModal').modal('show');
    });
</script>

【讨论】:

  • 作者特别要求提供一种不需要使用“需要document.ready 函数或主体onload 函数”的解决方案。我认为$(window).loadonload 大致相同,因此投反对票。
  • 对某些人仍然有用 - 对于现代版本的 jQuery,$(window).load(... 也必须替换为 $(windows).on('load', ....) . 摆脱“淡入淡出”效果只需从模式中删除“淡入淡出”类
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多