Bootstrap JS 模态


JS 模态 (modal.js)

模态插件是一个显示在当前页面顶部的对话框/弹出窗口。

有关模态框的教程,请阅读我们的Bootstrap 模态教程


模态插件类

Class Description
.modal Creates a modal
.modal-content Styles the modal properly with border, background-color, etc. Use this class to add the modal's header, body, and footer.
.modal-header Defines the style for the header of the modal
.modal-body Defines the style for the body of the modal
.modal-footer Defines the style for the footer in the modal. Note: This area is right-aligned by default. To change this, overwrite CSS with text-align:left|center
.modal-sm Specifies a small modal
.modal-lg Specifies a large modal
.fade Adds an animation/transition effect which fades the modal in and out

通过 data-* 属性触发模态

添加data-toggle="modal"data-target="#modalID"到任何元素。

笔记:为了<a>元素,省略data-target,并使用href="#modalID"反而:

示例

<!-- Buttons -->
<button type="button" data-toggle="modal" data-target="#myModal">Open Modal</button>

<!-- Links -->
<a data-toggle="modal" href="#myModal">Open Modal</a>

<!-- Other elements -->
<p data-toggle="modal" data-target="#myModal">Open Modal</p>
亲自试一试 »


通过 JavaScript 触发

手动启用:

示例

$("#myModal").modal()
亲自试一试 »

模态选项

选项可以通过数据属性或 JavaScript 传递。对于数据属性,将选项名称附加到 data-,如 data-backdrop=""。

Name Type Default Description 尝试一下
backdrop boolean or the string "static" true Specifies whether the modal should have a dark overlay:

  • true - dark overlay
  • false - no overlay (transparent)

If you specify the value "static", it is not possible to close the modal when clicking outside of it

Using JS Using data
keyboard boolean true Specifies whether the modal can be closed with the escape key (Esc):

  • true - the modal can be closed with Esc
  • false - the modal cannot be closed with Esc
Using JS Using data
show boolean true Specifies whether to show the modal when initialized Using JS Using data

模态方法

下表列出了所有可用的模态方法。

Method Description 尝试一下
.modal(options) Activates the content as a modal. See options above for valid values 尝试一下
.modal("toggle") Toggles the modal 尝试一下
.modal("show") Opens the modal 尝试一下
.modal("hide") Hides the modal 尝试一下

模态事件

下表列出了所有可用的模态事件。

Event Description 尝试一下
show.bs.modal Occurs when the modal is about to be shown 尝试一下
shown.bs.modal Occurs when the modal is fully shown (after CSS transitions have completed) 尝试一下
hide.bs.modal Occurs when the modal is about to be hidden 尝试一下
hidden.bs.modal Occurs when the modal is fully hidden (after CSS transitions have completed) 尝试一下

更多示例

登录模式

以下示例创建一个登录模式:

示例

<div class="container">
  <h2>Modal Login Example</h2>
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-default btn-lg" id="myBtn">Login</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">

      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 style="color:red;"><span class="glyphicon glyphicon-lock"></span> Login</h4>
        </div>
        <div class="modal-body">
          <form role="form">
            <div class="form-group">
              <label for="usrname"><span class="glyphicon glyphicon-user"></span> Username</label>
              <input type="text" class="form-control" id="usrname" placeholder="Enter email">
            </div>
            <div class="form-group">
              <label for="psw"><span class="glyphicon glyphicon-eye-open"></span> Password</label>
              <input type="text" class="form-control" id="psw" placeholder="Enter password">
            </div>
            <div class="checkbox">
              <label><input type="checkbox" value="" checked>Remember me</label>
            </div>
            <button type="submit" class="btn btn-default btn-success btn-block"><span class="glyphicon glyphicon-off"></span> Login</button>
          </form>
        </div>
        <div class="modal-footer">
          <button type="submit" class="btn btn-default btn-default pull-left" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span> Cancel</button>
          <p>Not a member? <a href="#">Sign Up</a></p>
          <p>Forgot <a href="#">Password?</a></p>
        </div>
      </div>
    </div>
  </div>
</div>
亲自试一试 »