一個靜態的模態窗口實例,以下面的實例所示:javascript
- <!DOCTYPE html>
- <html>
- <head>
- <title>Bootstrap 實例 - 模態框(Modal)插件</title>
- <link href="/stylesheets/bootstrap.min.css" rel="stylesheet">
- <script src="/scripts/jquery.min.js"></script>
- <script src="/scripts/bootstrap.min.js"></script>
- </head>
- <body>
- <h2>建立模態框(Modal)</h2>
- <!-- 按鈕觸發模態框 -->
- <button class="btn btn-primary btn-lg" data-toggle="modal"
- data-target="#myModal">
- 開始演示模態框
- </button>
- <!-- 模態框(Modal) -->
- <div class="modal fade" id="myModal" 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">
- ×
- </button>
- <h4 class="modal-title" id="myModalLabel">
- 模態框(Modal)標題
- </h4>
- </div>
- <div class="modal-body">
- 在這裏添加一些文本
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-default"
- data-dismiss="modal">關閉
- </button>
- <button type="button" class="btn btn-primary">
- 提交更改
- </button>
- </div>
- </div><!-- /.modal-content -->
- </div><!-- /.modal -->
- </body>
- </html>
代碼講解:
- 使用模態窗口,您須要有某種觸發器。您可使用按鈕或連接。這裏咱們使用的是按鈕。
- 若是您仔細查看上面的代碼,您會發如今 < button > 標籤中,data-target="#myModal" 是您想要在頁面上加載的模態框的目標。
- aria-labelledby="myModalLabel",該屬性引用模態框的標題。
- 屬性 aria-hidden="true" 用於保持模態窗口不可見,直到觸發器被觸發爲止(好比點擊在相關的按鈕上)。
- < div class="modal-header" >,modal-header 是爲模態窗口的頭部定義樣式的類。
- class="close",close 是一個 CSS class,用於爲模態窗口的關閉按鈕設置樣式。
- data-dismiss="modal",是一個自定義的 HTML5 data 屬性。在這裏它被用於關閉模態窗口。
- class="modal-body",是 Bootstrap CSS 的一個 CSS class,用於爲模態窗口的主體設置樣式。
- class="modal-footer",是 Bootstrap CSS 的一個 CSS class,用於爲模態窗口的底部設置樣式。
- data-toggle="modal",HTML5 自定義的 data 屬性 data-toggle 用於打開模態窗口。
尺寸
模態框提供了兩個可選尺寸,經過爲 .modal-dialog 和modal-sm或_modal-lg增長一個樣式調整類實現。css
- <!-- Large modal -->
- <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-lg">Large modal</button>
-
- <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-lg">
- <div class="modal-content">
- ...
- </div>
- </div>
- </div>
-
- <!-- Small modal -->
- <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-sm">Small modal</button>
-
- <div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-sm">
- <div class="modal-content">
- ...
- </div>
- </div>
- </div>
禁止動畫效果
若是你不須要模態框彈出時的動畫效果(淡入淡出效果),刪掉 .fade 類便可。html
- <div class="modal" tabindex="-1" role="dialog" aria-labelledby="" aria-hidden="true">
- ...
- </div>
用法
經過 data 屬性或 JavaScript 調用模態框插件,能夠根據須要動態展現隱藏的內容。java
經過 data 屬性
不需寫 JavaScript 代碼也可激活模態框。經過在一個起控制器做用的元素(例如:按鈕)上添加 data-toggle="modal" 屬性,或者 data-target="#foo"屬性,再或者 href="#foo" 屬性,用於指向被控制的模態框。jquery
- <button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>
經過 JavaScript 調用
只需一行 JavaScript 代碼,便可經過元素的 id myModal 調用模態框:bootstrap
- $('#myModal').modal(options)
參數
能夠將選項經過 data 屬性或 JavaScript 代碼傳遞。對於 data 屬性,須要將參數名稱放到 data- 以後,例如 data-backdrop=""。ide
參數名稱 |
類型/默認值 |
Data 屬性名稱 |
描述 |
backdrop |
boolean 或 string 'static' 默認值:true |
data-backdrop |
指定一個靜態的背景,當用戶點擊模態框外部時不會關閉模態框。 |
keyboard |
boolean 默認值:true |
data-keyboard |
當按下 escape 鍵時關閉模態框,設置爲 false 時則按鍵無效。 |
show |
boolean 默認值:true |
data-show |
當初始化時顯示模態框。 |
remote |
path 默認值:false |
data-remote |
使用 jQuery .load 方法,爲模態框的主體注入內容。若是添加了一個帶有有效 URL 的 href,則會加載其中的內容。以下面的實例所示:
- <a data-toggle="modal" href="remote.html" data-target="#modal">Click me</a>
|
方法
下面是一些可與 modal() 一塊兒使用的有用的方法。動畫
方法 |
描述 |
實例 |
Options:.modal(options) |
把內容做爲模態框激活。接受一個可選的選項對象。 |
- $('#identifier').modal({
- keyboard: false
- })
|
Toggle:.modal('toggle') |
手動切換模態框。 |
- $('#identifier').modal('toggle')
|
Show:.modal('show') |
手動打開模態框。 |
- $('#identifier').modal('show')
|
Hide: .modal('hide') |
手動隱藏模態框。 |
- $('#identifier').modal('hide')
|
事件
下表列出了模態框中要用到事件。spa
事件 |
描述 |
實例 |
show.bs.modal |
在調用 show 方法後觸發。 |
- $('#identifier').on('show.bs.modal', function () {
- // 執行一些動做...
- })
|
shown.bs.modal |
當模態框對用戶可見時觸發(將等待 CSS 過渡效果完成)。 |
- $('#identifier').on('shown.bs.modal', function () {
- // 執行一些動做...
- })
|
hide.bs.modal |
當調用 hide 實例方法時觸發。 |
- $('#identifier').on('hide.bs.modal', function () {
- // 執行一些動做...
- })
|
hidden.bs.modal |
當模態框徹底對用戶隱藏時觸發。 |
- $('#identifier').on('hidden.bs.modal', function () {
- // 執行一些動做...
- })
|