Bootstrap Modals(模態框)

描述

Bootstrap Modals(模態框)是使用定制的 Jquery 插件創建的。它可以用來創建模態窗口豐富用戶體驗,或者為用戶添加實用功能。您可以在 Modals(模態框)中使用 Popover(彈出框)和 Tooltip(工具提示插件)。

在本教學中,將通過一些實例和解釋來討論如何使用 Bootstrap 創建模態窗口。同時,我們也會討論用於定制的各種可用選項。

什麼是必需的

您需要 Jquery、Bootstrap CSS 和 JavaScript 檔 bootstrap-modal.js。這個 js 檔位於您下載的 Bootstrap 主文件夾中的 js 檔夾內。

Jquery 位於您的 Bootstrap 主文件夾中的 docs > assets > js 下,名為 jquery.js。或者您可以直接訪問 https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 下載 Jquery。

Bootstrap Modals(模態框)長什麼樣

下麵的實例演示了 Bootstrap Modals(模態框)長什麼樣。

Bootstrap Modals

在您的網站中使用 Bootstrap Modals(模態框)

下麵的實例演示了如何在網頁中使用 Bootstrap Modals(模態框)。請注意,您不需要編寫任何的 JavaScript 代碼。實例後面附有相關的解釋。

實例

<div class="container">
    <h2>使用Bootstrap創建模態框</h2>
    <div id="example" class="modal hide fade in" style="display: none; ">
        <div class="modal-header">
            <a class="close" data-dismiss="modal">×</a>
            <h3>這是一個模態框標題</h3>
        </div>
        <div class="modal-body">
            <h4>模態框中的文本</h4>
            <p>你可以在這添加一些文本。</p>
        </div>
        <div class="modal-footer">
            <a href="#" class="btn btn-success">喚醒活動</a>
            <a href="#" class="btn" data-dismiss="modal">關閉</a>
        </div>
    </div>
    <p><a data-toggle="modal" href="#example" class="btn btn-primary btn-large">發動演示模態框</a></p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="/twitter-bootstrap/twitter-bootstrap-v2/js/bootstrap-modal.js"></script>

線上查看 Bootstrap Modals(模態框)實例

解釋

下麵的表格解釋了上面的代碼。它將幫助您理解如何使用 Bootstrap Modals(模態框)。

代碼 解釋
div id="example" 分配給相關 div 的 id,id 的值指向後邊要實現 modal(模態框)的 JavaScript。
class="modal hide fade in" Bootstrap CSS 的四個 class - modal、hide、fade 和 in,用於設置 modal(模態框)的佈局。
style="display: none; 用於保持模態窗口可見,直到觸發器觸發(比如點擊相關按鈕)。
<div class="modal-header"> modal-header 適用於定義模態窗口標題樣式的 class。
a class="close" CSS class close 用於設置模態窗口關閉按鈕的樣式。
data-dismiss="modal" data-dismiss 是一個定制的 HTML5 data 屬性。用於關閉模態窗口。
class="modal-body" modal-body 是 Bootstrap 的一個 CSS class,用於設置模態窗口主體的樣式。
class="modal-footer" modal-footer 是 Bootstrap 的一個 CSS class,用於設置模態窗口尾部的樣式。
class="btn btn-success" CSS class btn 和 btn-success 用於在模態窗口的尾部創建一個大號的按鈕。您可以使用任何其他 Bootstrap 按鈕代替。
class="btn" Bootstrap CSS 的 按鈕 class btn,用於在模態窗口的尾部創建一個小號的按鈕。
data-dismiss="modal" HTML5 定制的 data 屬性 data-dismiss,用於關閉模態窗口。
data-toggle="modal" HTML5 定制的 data 屬性 data-toggle,用於打開模態窗口。
class="btn btn-primary btn-large" 設置按鈕樣式,點擊該按鈕則創建模態窗口。
<script src="https://ajax.googleapis.com/ajax/libs
/jquery/1.7.1/jquery.min.js"></script>
引用 Jquery 檔。
<script src="../bootstrap/twitter-bootstrap-v2>
/js/bootstrap-modal.js"></script>
引用 bootstrap modal(模態框)的 JS 檔。

使用 JavaScript

您可以使用 JavaScript 來實現 Bootstrap 模態窗口。只需要在您的 JavaScript 中調用 modal() 即可。您的代碼如下所示,您可以在 body 結束標籤(即 </body>)前引用它。

 $(function ()
{ $("#identifier").modal();
});

其中 identifier 是一個 Jquery 選擇器,用於標識相關的容器元素。接下來,我們來看看 options 都有哪些。

選項

下麵是一些通過 modal() 定制模態窗口外觀和感觀時可能使用到的選項。

backdrop

backdrop 選項用於包含一個 modal-backdrop 元素。

如果您把"使用 JavaScript"實例中行號 2 的代碼替換為下麵的代碼,即給 backdrop 選項賦值為 false,此時就不存在任何的 modal-backdrop。

{ $("#example").modal({backdrop:false});

keyboard

如果使用 keyboard 選項,當點擊 escape 時則關閉模態窗口。它的類型是 boolean,默認值是 true。如果把 keyboard 選項的值設置為 false,此時即使點擊 escape 也不會關閉模態窗口。

如果您把"使用 JavaScript"實例中行號 2 的代碼替換為下麵的代碼,即給 keyboard 選項賦值為 false,此時點擊 escape 則不會關閉模態窗口。

{ $("#example").modal({keyboard:false});

show

如果使用 show 選項,當初始化的時候則會顯示模態窗口。它的類型是 boolean,默認值是 true。如果把 show 選項的值設置為 false,在初始化時不會顯示模態窗口。

如果您把"使用 JavaScript"實例中行號 2 的代碼替換為下麵的代碼,即給 show 選項賦值為 false,在初始化時不會顯示模態窗口。

{ $("#example").modal({show:false});

方法

下麵是一些通過 modal() 使用到的方法。

.modal(options)

該方法把內容啟動為一個 modal(模態框)。您可以引用一個可選的 object 類型的 options 參數。如果您在本教學的第一個實例中的 </body> 標籤前添加下麵的代碼,此時就不存在任何的 modal(模態框) backdrop 元素。

$('#example').modal({
  backdrop: false
})

.modal('toggle')

該方法手動切換一個 modal(模態框)。如果您在本教學的第一個實例中的 </body> 標籤前添加下麵的代碼,即可手動切換 modal(模態框)。

$('#example').modal('toggle')

.modal(show)

該方法可用於手動打開一個 modal(模態框)。如果您在本教學的第一個實例中的 </body> 標籤前添加下麵的代碼,即可手動打開 modal(模態框)。

$('#example').modal('show')

.modal(hide)

該方法可用於手動隱藏一個 modal(模態框)。如果您在本教學的第一個實例中的 </body> 標籤前添加下麵的代碼,即可手動隱藏 modal(模態框)。

$('#example').modal('hide')

事件

下麵是 Modals(模態框)相關的事件。這些事件用於截獲並執行自己的代碼。

show

當 show 實例方法被調用之後,此事件被立即觸發。

shown

當模態框顯示出來之後(同時 CSS 過渡效果也已執行完畢),此事件被觸發。

hide

當 hide 實例方法被調用之後,此事件被立即觸發。Immediately after the hide instance method has been called, this event is called.

hidden

當模態框向用戶隱藏之後(同時 CSS 過渡效果也已執行完畢),此事件被觸發。

點擊這裏,下載本教學中使用到的所有 HTML、CSS、JS 和圖片檔。