页面加载时的引导模式打开 [重复]

Posted

技术标签:

【中文标题】页面加载时的引导模式打开 [重复]【英文标题】:Bootstrap modal opening on page load [duplicate] 【发布时间】:2015-03-20 00:36:55 【问题描述】:

我有一个带有引导模式的页面(手册:http://getbootstrap.com/javascript/#modals)。

我希望在页面加载时打开此模式。然而这并没有发生。

<!-- Modal -->
<div class="modal fade" id="memberModal" tabindex="-1" role="dialog" aria-labelledby="memberModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="memberModalLabel">Thank you for signing in!</h4>
      </div>
      <div class="modal-body">
        <p>However the account provided is not known.<BR>
        If you just got invited to the group, please wait for a day to have the database synchronized.</p>

        <p>You will now be shown the Demo site.</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

<script type="text/javascript">
<!--
$('#memberModal').modal('show');
//-->
</script>

现在,如果我在代码中添加一个按钮。当我按下按钮时,模式正在打开。

<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#memberModal">
  Launch modal
</button>

我尝试了几件事,但我无法让它在页面加载时自动打开模式。 我在 html 头中调用了 bootstrap 的 js 和 css。

<!-- Bootstrap - Latest compiled and minified CSS -->
<link rel="stylesheet" type='text/css' href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

<!-- Bootstrap - Latest compiled and minified JavaScript -->
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

我做错了什么?

【问题讨论】:

现在在 JSFiddle 上,这一切似乎都可以正常工作。 jsfiddle.net/uvnggL8w我真的不明白。 【参考方案1】:

在您的通话中使用document.ready() 事件。

$(document).ready(function () 

    $('#memberModal').modal('show');

);

jsFiddle 更新 - http://jsfiddle.net/uvnggL8w/1/

【讨论】:

我喜欢这个答案。我正在使用 MVC 通过 ajax 动态创建模态,并且当用户单击某些内容时需要它出现在页面上。这成功了! (我在模态的主体中有一个局部视图,它返回一个动态的局部视图,该视图取决于他们单击的内容——因此为什么静态模态在我的实例中不起作用)。此外,有时,我可以理解您是否需要在页面最初加载时提醒用户某些事情(例如同意条款、要求关闭广告拦截器、通知维护窗口等...) 我也做过同样的事情,最初在页面加载时显示模态,但是对于下一个后续页面刷新/重新加载,它不显示模态。一段时间后,它再次显示在两者之间。可能是什么原因? 这应该是公认的答案【参考方案2】:

我发现了问题。 此代码被放置在一个单独的文件中,该文件添加了一个 php include() 函数。 而这个包含是在加载引导文件之前发生的。所以Bootstrap JS文件还没有加载,导致这个modal什么都不做。

上面的代码示例没有任何问题,并且在放置在 html 页面的正文部分时可以按预期工作。

<script type="text/javascript">
$('#memberModal').modal('show');
</script>

【讨论】:

这就是为什么您应该在通话中使用document.ready() 事件。

以上是关于页面加载时的引导模式打开 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在引导程序中的页面加载时打开模式对话框

如何在小于 600 像素的屏幕上“打开”页面加载时的 Bootstrap 下拉菜单

显示引导模式首次页面加载

如何在 react.js 中的页面加载时显示引导模式?

如何使用内部 html 和引导程序使这个简单的 jQuery 弹出模式在页面加载时显示

Asp.net mvc 问题将部分页面加载到引导模式中